分享
 
 
 

Solaris 操作系统中PROM命令集的使用

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

1 Solaris OS PROM命令集简介:

PROM(programmable read-only memory)命令是Sun SPARC体系计算机特有的一套命令体系,所有Sun体系的计算机都保存有用于执行PROM命令的固件。它使得系统管理员可以对硬件设备进行基本的监测、对系统初始化全过程进行配置、单步执行。PROM命令有以下几个作用:检测与初始化硬件、定义系统硬件配置、Boot操作系统、为配置硬件提供交互界面、使得用户可以定义使用第三方硬件

2 PROM基本的命令集合:

2.1 PROM命令使用的前提条件:

PROM命令必须在OK指令符下使用。它实际上是系统在开机自检时被中止后生成的一种指令界面。系统管理员可以在这个指令界面下面诊断系统状况,修改系统配置,甚至单步执行系统启动时的自检过程。

点击STOP-A(其中STOP键是SUN体系计算机键盘上特有的按键)组合键就可以进入PROM界面。有时计算机在已经初始化完成后,进入SOLARIS图形界面的情况下也可以通过STOP-A的方法进入OK状态。但是通常不提倡这样用,容易引起文件系统不一致等情况出现。

2.2 具体命令介绍:

2.2.1 Banner命令:

Banner命令是用来了解系统信息的重要命令,例如PROM的模块名称、PROM版本号、内存容量、以太网地址和HOST ID等内容。

其具体使用方法如下:

ok banner

Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz), Keyboard Present

OpenBoot 3.31, 128 MB (50 ns) memory installed, Serial #11888271.

Ethernet address 8:0:20:b5:66:8f, Host ID: 80b5668f.

2.2.2 BOOT命令:

Boot命令用来从OK界面来boot进入SOLARIS系统。它的格式如下:

ok boot device_name - options

可以在boot命令后键入一个或多个参数。这些参数传递改操作系统内核,将影响整个启动过程。

参数:

a 交互式启动系统。提示输入根设备和交换设备以及一些重要的系统文件。

ok boot -a

Enter filename [kernel/sparcv9/unix]:

Enter default directory for modules [/platform/SUNW,Ultra-5_10/kernel

/platform/sun4u/kernel /kernel /usr/kernel]:

Name of system file [etc/system]:

root file system type [ufs]:

Enter physical name of root device:

r 启动时系统将重新查找所有的设备,在/devices和/dev目录下重新生成文 件,更新/etc/path_to_inst文件。

s 系统启动后停留在S运行级别。可以用来系统错误排除。

v 详细地显示出系统的启动信息。有时可以用来系统的错误排除。

例如:

ok boot -r

ok boot -v

2.2.3 printenv 命令:

printenv命令显示NVRAM的参数以及参数的缺省值。例如:

ok printenv

Variable Name Value Default Value

tpe-link-test? true true

scsi-initiator-id 7 7

keyboard-click? false false(以下内容省略)

也可以显示某个特定参数的值:

ok printenv boot-device

boot-device = disk net

2.2.4 setenv命令:

该命令用来改变NVRAM中参数的设置。因此这个命令很重要,使用时要特别小心,避免不必要的误操作导致机器瘫痪。一般来讲,系统管理员是通过printenv命令和setenv命令组合起来对NVRAM进行操作的。

Ok printenv auto-boot?

Auto-boot? =true

ok setenv auto-boot? False

auto-boot? = false

ok reset-all(这条命令是PROM中的另一条命令,他用来重新启动机器,是新的设置生效)

2.2.5 重置缺省值

使用set-defaults 命令将所有的参数重新设置为缺省的值。

Ok set-defaults

也可以对一个具体参数进行重置:

ok set-default diag-level

set-default命令对于系统管理员很有用处。经常拿它来修正那些不小心改错的参数。

2.2.6 Probe命令:

这个命令也是PROM命令集中的一个重要命令子集。它用来了解当前有多少外设连接到了主机上,包括硬盘、磁带机、CD-ROM等等。

想知道当前probe命令子集包括哪些子命令可以用以下的方法:

其中,sifting命令是用来检索PROM命令集中包含特定单词的命令子集。其功能类似于windows操作系统中的查找文件命令。

以上所有probe命令中,

Probe-all用来显示所有外设信息;probe-ide用来显示ide接口外设的信息;probe-scsi用来显示某个具体scsi接口外设信息;probe-scsi-all用来显示所有scsi接口外设信息;probe-pci和probe-pci-slot用来显示pci接口外设的信息。最常用的是probe-ide、probe-scsi、probe-scsi-all命令。如果系统还包含着光纤接入的设备,那还可以使用probe-fcal-all命令来获取信息。

2.2.7 Devalias命令:

这个命令很重要,用于察看外设别名和物理地址之间对应关系。众所周知sun体系计算机是使用设备树的概念来组织那些连接到主机上的外设的。而每一个外设在操作系统中又是以一个设备文件的形式存在的,根据设备类型的不同(例如scsi、ide等接口不同),设备文件的绝对路径又有着不同,因此通过绝对路径名称就可以判断外部设备的类型:

从上面示图可以看出当外设类型为IDE时,device type栏就显示dad字样;如果外设类型为scsi时,device type就显示为sd字样。

同时为了方便管理起见,每个外设都有自己的一个别名,例如光驱的别名是cdrom,显示器的别名是screen。根据这两个之间的对应关系我们就可以方便的管理外设的活动。而devalias命令就是用来察看设备别名的物理地址的。例如:

ok devalias

screen /SUNW,ffb@1e,0

mydisk /pci@1f,0/pci@1,1/ide@3/disk@0,0

net /pci@1f,0/pci@1,1/network@1,1

cdrom /pci@1f,0/pci@1,1/ide@3/cdrom@2,0:f(以下显示内容省略)

设备别名在左列。设备物理地址在右列。

这条命令非常有用,通常系统管理员在为计算机新增了外设之后,都会在重启机器之后进入ok状态下使用这个命令察看新增的外设是否顺利加入设备树中。

2.2.8 创建和修改设备别名:

创建和修改设备别名是PROM命令操作中十分重要的一项内容,同时这个操作也带有一定的危险性,因为如果修改不得当就会造成系统boot时找不到正确的入口,导致系统瘫痪数据丢失。因此这个操作务必要熟练掌握,万无一失后才能使用,而且一般情况下,这个操作也是尽可能少用。

创建一个新的设备别名可以使用nvalias命令,具体格式如下:

nvalias aliasname device_path

例如:

ok nvalias mydisk /pci@1f,0/pci@1,1/ide@3/disk@0,0

在执行完命令之后,要执行如下两个操作:

使用setenv来判断mydisk是否成功加入设备树:

ok setenv boot-device mydisk

boot-device = mydisk

重新boot计算机,是配置生效:

ok boot

这时候一个新的外设就成功地加入设备树了。

2.2.9 删除设备树中的一个外设:

当一个外设失去作用时可以用如下命令删除设备树中的一个外设:

ok nvunalias aliasname

例如:

ok nvunalias mydisk

ok setenv boot-device disk

boot-device = disk

ok reset-all

Resetting ...

这个操作有一定危险性,因为如果不小心的话就可能把boot用的外设删除掉,造成系统不能正常启动。因此奉劝使用的人务必要小心,避免不必要的损失。

2.2.10 在cmd条件下执行PROM命令:

在Solaris操作系统中的cmd条件下能不能执行PROM命令呢?回答是肯定的,但只能说是部分功能:

显示所有PROM参数可以使用如下命令:

# eeprom

显示某个特定参数:

# eeprom boot-device

boot-device=disk

修改系统默认得boot路径,可以执行如下操作(这个操作有相当的危险性,最好避免使用):

# eeprom boot-device=disk2

修改部分参数:

# eeprom auto-boot?=true

2.2.11 sync命令:

最后介绍PROM中最后一条命令,sync命令。它用来在系统瘫痪的情况下手动关闭计算机,用法如下:

ok sync

这个操作对于文件系统有一定的伤害,有时会造成文件系统的不一致以及硬件的损伤,所以使用起来也要特别注意。

3 PROM命令集使用的注意事项:

最好在系统刚开机时就进入OK界面进行操作。因为这个时候系统还处于自检状态,牵涉不到对文件系统的操作。这个时候进入OK状态可以最大程度的保护文件系统不受伤害。反之如果在操作系统已经正式启动之后才进入OK状态的话就不能保证文件系统不受损伤。

PROM命令集中有不少都有相当的危险性,使用时要特别小心,避免不必要的系统崩溃、数据损失等问题。PROM命令集可以说是基于硬件的一组命令集,他的优点就是可以快捷便利的访问所有硬件设备,修改他们的属性特征,但是也正因为这些特点导致了如果使用不当它可能带来意想不到的负面影响。笔者在使用PROM命令集时因为错误使用了nvunalias而导致系统主分区被毁,系统崩溃的惨痛教训。因此在这里提醒各位,使用PROM命令集时务必要当心,有些敏感命令尽可能避免使用。如果在操作系统中有别的功能可以完成你想在OK状态下完成的功能的话,那就尽可能使用别的功能吧。

当系统崩溃、设备不能正常工作的时候,PROM命令集是一个强有力的解决问题的工具。我们有的同事,在遇到系统崩溃或者设备不能正常工作的时候,惊慌失措,只想到重装系统,导致最终并不严重的问题要拖上很久才能解决,并且数据也丢失了。其实其中很多问题仅仅需要在OK状态下使用几个PROM命令就可以解决了。例如笔者以前就遇到过主分区突然不能挂载的问题,后来用OK状态下面nvalias命令就顺利解决的事例。所以说当遇到系统崩溃的问题时,不要惊慌,先到OK状态下面好好检查一下再说。

4 Solaris操作系统学习中的心得体会:

笔者由于工作的原因对Solaris、Linux、Windows这三种操作系统都有相当的接触和熟悉。作为目前市面上比较知名的三种操作系统,他们可以说是各有千秋。其中Solaris操作系统以它的性能稳定、功能强大和安全性能好而著称,但同时相比于另外两套系统这套系统硬件支持有限,图形化程度不高,使用难度也很大,这些都制约了他的普及和发展。不要说非计算机专业人士,就是计算机专业人员需要花很长的时间才能初步掌握它的用法(仅仅是初步!)。笔者就是其中之一,花了足足近一年的时间才刚刚达到Sun认证一级系统管理员的资格,至于二级还有网络管理员就更别提了。至于熟练精通,那只有特别有恒心毅力,并且有足够外部条件得人才能办到这一点,老实说我个人认为没有2-3年时间是不大可能的。本文中涉及的仅仅是Solaris操作系统中一个很小的方面,而比他深奥复杂的地方就更多了(例如,打印机配置,开关机,访问角色控制,网络配置等等),所以说希望有志于此的同道能做好一定的思想准备。当然如果你能做到这些的话,你不但对Solaris操作系统,就是对整个UNIX系列的操作系统都能有深入了解了,因为不管是Solaris还是HP-UX都是同出一门的,对于操作系统的理解也会上一个层次。所以我希望我今天在这里写的东西对于其他同道都能有所帮助和启发。另外随着开源运动的推广,Sun也已经公开了Solaris操作系统的源代码,在他的网站上也有最新版的Solaris 10 Express(X86)共免费下载使用研究,应该说客观条件已经具备,希望有志于此的同道能利用这些有利因素,能比我更深入的研究下去。

PROM命令集相比于角色控制、网络管理等等属于比较冷门的部分。使用的机会也比较少。但是考虑到外面的教材中对Solaris其他部分的介绍已经十分详尽了。但对于PROM的介绍却很少,所以我决定专门写一下关于他的知识,可惜限于篇幅,我不能介绍得更加详尽,只能抽取PROM命令集中最常用、最重要的部分进行介绍,有兴趣的人可以参考Sun公司提供的Solaris认证教材进行学习,它上面的信息是最翔实的。PROM的作用集中在系统自检、硬件的安装和卸载、系统恢复上,特别是后两个方面,有着很强大的支持作用。所以我希望我的这篇文章能对这方面有需求的人有所帮助。

5 后记

以下这部分是我关于软件人才培养的几点思考。因为工作的原因,我对于软件行业中常见的几个岗位多少都有些接触和了解。闲暇的时候,也思考了自己在3年工作中的成败得失,总结出这么几个结论,今天放在这里供大家参考:

首先关于大学本科学习中的经验,我个人认为还是要避免第一个误区那就是贪大求全,什么都教,结果哪样都没教全;学生好像什么都会可是哪样都会的不精。那还不如不教呢。工作三年,我感觉无论在公司里还是在技术部门,没有一个人能做到又会干这个又能干那个,那是不可能的(这个我尝试过)。计算机专业毕业的学生出去又从事软件行业的,也有搞硬件的,还有当系统管理员的,网络管理员还有数据库管理员的,即使是软件行业又可以细分成销售人员,系统分析师,项目经理,软件工程师,测试工程师,文档员等等。每个工作都有自己的侧重之处,就是强调哪个方面的能力,而对其他的能力要求有所降低,不用花太多精力去下功夫。这样方向就比较明确,软件行业发展的大趋势是岗位的细分化,这样才能发挥中国人力资源丰富的优势,降低软件从业者的培养成本,劳动强度,提高软件的整体质量,淘汰掉小的公司,从而形成一批大型的运作规范的软件公司,增强中国软件的竞争力。

另外,这样一来,对每个同学而言,课程数减少了,而每门课的上课时间可以拉长(原本一个学期的,可以改成两个学期)。这样就可以降低学生的学习强度和老师的教学强度,增加有目的的上机实习和习题课的时间,同时一批太深太难,太冷僻的课没必要对本科生再开(或者改成选修课,普及讲座),把师资力量充实到一些重要的课程上,提高教学质量。

其次我觉得对所有老师同学而言要明白,软件英雄的时代已经过去。软件发展的大方向是朝大型化,多功能化,开发自动化,模块化,图形化方向发展,而不是反方向。我们应该学会依照严格的纪律分工,明确的职责划分,合理的项目管理来完成任务。我听说有的老师在教学生网页制作时不许用开发工具完成,觉得有点不可思议。使用网页开发工具(Dream weaver)不但提高了工作效率,启发同学的兴趣,而且它入门门槛低,有利于培养一个同学对项目整体的把握能力,另外由于大量使用可视化开发,符合软件开发的发展方向,拥有这么多优点为何不许用呢?至于要学习html的具体语法,那要等架子搭好再学。

最后教材、课制的设置也要符合现实的要求。太落后不好,太超前也不好;太浅不好,太深也不行。很多教材老化严重(说不过分的我们的同学很多不得不用他们出生之前就编好的教材上课),要及时更新。现在软件开发早已离开指令驱动模式,正在从图型化编程朝统一建模编程(uml)甚至规格说明语言编程(z语言)的方向发展。我们的教材如果不及时跟上的话就要误人子弟了。包括谭浩强老先生的《c语言》也要考虑与时俱进,加进图形化编程的内容了。一些比较超前先进的技术(uml,z语言)我觉得给本科同学讲讲还是有意义的,可是要注意深度要把握住(入门即可)。还有每个大学都有《法律常识》,但是内容还是仅限于介绍宪法、刑法的基本知识。对于和大家关系密切的《劳动法》、《合同法》、《公司法》却没有什么介绍,这使得我们的同学毕业后面对部分黑心老板的压榨束手无策。我在这里讲了点超出题外的话,但是却很现实,我想一种教育如果成天教学生是怎么赚钱谋生而不告诉他深层次的东西的话肯定不是成功的教育,但反过来如果我们的同学辛苦学习4年后,却不能很好的利用自己在学校学到的知识融入社会的话,那这种教育也确实有待商榷的地方。

以上就是我对于软件人才培养方法的一点意见,不一定对,但是有一定启发性。希望能对我们的软件人才培养有所帮助。

参考文献:

[1].Intermediate System Administration for the Solaris™ 9 Operating Environment SA-239 Sun Company

[2].http://fanqiang.chinaunix.net/a1/b3/20010515/10150074.html Solaris系统管理培训 第二章:OpenBoot PROM

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有