龙芯开源社区

 找回密码
 注册新用户(newuser)
12
返回列表 发新帖
楼主: tanhitzq

如何关闭pmon的启动图片。1.3.6a的盒子pmon。

[复制链接]
 楼主| 发表于 2012-4-4 19:04:52 | 显示全部楼层
2.6 PMON 的系统还原功能
上电启动后出现启动画面,如图0-1所示。按Tab键后,进入还原界面,如图0-2所示。


2.6.1硬盘还原
按”W”键进入硬盘还原,如图1-1,硬盘还原系统支持HD版,不支持SSD版。硬盘还原是从本地硬盘的一个分区中下载一个系统还原的文件,启动后进入一个系统还原的提示界面,如图1-2。按U升级系统(目前支持U盘升级系统),按R键,进入还原系统的选择界面如图 1-3。
按”1”键 选择配置分区还原
按”2”键 选择主分区和配置分区还原
按”3”键 选择系统完整还原,包括主分区、配置分区还原和用户分区。此项,可以导致用户数据丢失。
按”4”键 对于从硬盘还原系统,和第三项还原是相同的,但是从U盘还原系统时,是有区别的。
硬盘系统还原时,如果找不到还原系统的文件,出现如图1-4的提示画面。

图 1-1

图 1-2

图 1-3

图 1-4

2.6.2 U盘还原
进入图 0-2界面后,按”U”键开始U盘的系统还原。出现如图 2-1的界面提示。
按”R”键,终止U盘的系统还原,并且重新启动。
按”C”从U盘下载系统还原文件,启动后进入一个系统还原的提示界面,如图 1-2。按”U”键从U盘读取系统的文件补丁,升级系统。按”R”健,启动后进入一个系统还原的选择界面,如图 2-3。
按”1”键 选择配置分区还原
按”2”键 选择主分区和配置分区还原
按”3”键 选择系统完整还原,包括主分区、配置分区还原和用户分区。此项,可以导致用户数据丢失。
按”4”键 除了系统完整还原外,还将格式化硬盘的其他隐藏分区。
U盘还原时,没有U盘或者U盘中没有系统还原的文件时,出现如图 2-2的画面提示。

图 2-1

图 2-2
2.6.3 服务器还原
服务器还原适合用于局域网内的用户,需要搭建tftp服务器和http服务器,个人用户建议使用U盘还原。进入0-2画面后,按”V”键进入服务器还原的设置界面,如图 3-1。

图 3-1  
按”I”键 进入本机IP地址的设置(如图3-2)和tftp服务器IP地址的设置(如图3-3),然后从tftp服务器上下载还原文件然后运行。运行还原文件后,弹出图1-2的界面,按”U”健,升级系统。按”R”键,启动后进入一个系统还原的选择界面,如图 1-3。说明:
按”1”键 选择配置分区还原
按”2”键 选择主分区和配置分区还原
按”3”键 选择系统完整还原,包括主分区、配置分区还原和用户分区。此项,可以导致用户数据丢失。
按”4”键与按”3”键在服务器还原时,是相同的。
按完数字键,并且确认后,需要再次输入服务器的IP地址(如图3-4),回车后,开始还原。
按”R”键 重新启动系统
按”S”键 如果之前设置好了本机IP地址和tftp服务器IP地址,不需要修改的话,直接按此键,下载还原文件。
注:
目前在设置IP地址时,不支持退格键。

图 3-2

图 3-3

图 3-4
 楼主| 发表于 2012-4-4 19:05:57 | 显示全部楼层
3 PMON的源代码访问方式

PMON的源代码可以从dev.lemote.com获取,由于该源代码是采用git进行版本管理的,所以用户可以通过git clone命令来获取,具体的获取方式如下: git clone git://dev.lemote.com/pmon.git,然后用户可以通过Checkout对应某个版本的tag来进行开发,具体的git的使用方法开发者可参阅相关的git手册,这边推荐参阅git_SCM_book.pdf。



4 PMON的编译环境及其配置

1. 首先从http://dev.lemote.com/code/pmon 下载交叉编译环境mips-elf.tar.gz

2. 把下载的mips-elf.tar.gz文件解压缩到/usr/local/comp/,使用的命令如下

tar -xpf mips-elf.tar.gz -C /

3. 设置Path路径,命令如下

Export PATH=/usr/local/comp/mips-elf/gcc-2.95.3/bin/PATH

4. 编译生成配置PMON所需要的pmoncfg工具,命令如下

   cd pmon_dir

   cd tools/pmoncfg

   make  

   cp pmoncfg /usr/bin

注:pmon_dir代指刚才1.3中提到的从服务器下clone下来以后PMON源代码所在的目录。

5. 运行pmoncfg,来配置PMON中的Bonito环境(pmoncfg会产生一些帮助文件,放在目录:pmon_dir/Targets /dir_corresponding_to_your_target_hardware /compile下,注:dir_corresponding_to_your_target_hardware是指硬件平台所对应的文件目录,例如对于 8.9寸笔记本就是 Bonito2F7inch。),命令如下

   cd pmon_dir

   cd Targets/dir_corresponding_to_your_target_hardware/conf

   pmoncf Bonito

6. 编译产生所需的PMON映像

   cd pmon_dir

   cd zloader. dir_corresponding_to_your_target_hardware  

   make tgt=rom


结果是在zloader. dir_corresponding_to_your_target_hardware (对于8.9寸笔记本为zloader.2f7inch)目录下产生默认名字为gzrom.bin的PMON映像。

注:make tgt=?有三个选项:

    *
      rom: 表示产生gzrom.bin文件,接着就可以把它烧到主板的flash rom中(这个可以通过主板上老的PMON console的支持通过load命令实现,典型的例子为load -r -f bfc00000 tftp://172.16.0.30/gzrom.bin

    *
      ram: 表示产生gzram文件,接着可以把它装载并且在老的PMON console中运行,它与前面的rom的文件的不同点在于,它只是被下载到内存在线运行,一旦断电,系统还会从flash rom中装载老的PMON映像进内存运行,这样可以防止调试中出现新的PMON运行时的错误而导致不能启动系统或者不能正常运行从而无法调试而非得用烧写器来重烧PMON映像到主板的flash rom的情况。

    *
      sim: 此选项暂时不支持。



5 PMON的环境变量

PMON的环境变量,其作用就是进行可配置操作,比如对启动方式的可配置(自动启动或者非自动启动)、FTP服务器IP的自动配置或者手工配置等。常用的一些环境配置变量的功能说明如下:

al 设置启动内核,也就是指明要启动哪个内核,例如:/dev/fs/ext2@wd0/boot/vmlinux,该参数的含义是指示PMON启动编号为 wd0的硬盘上文件格式为ext2的第一个分区上的/boot文件夹下的名为vmlinux的内核文件,其它的依此类推。

karg 设置启动内核时传递给内核的参数,例如”console=tty root=/dev/hda1”。

ShowBootMenu 该环境变量为一开关参数,当其设置为yes时表明需要显示BootMenu菜单来供用户可视化交互选择要启动的内核。当其设置不为yes,或者该参数不存在时,则默认从/boot/boot.cfg或者/boot.cfg中读取默认的内核启动,当然,如果以上提到的boot.cfg文件不存在,则启动al 中指示的内核,如果al也没设置,或者设置不准确,或者al也不存在,则回到PMON console。

novga 该环境变量也为一开关参数,当其存在时,则调试log全部打到串口上,当其不存在时,则当显示驱动初始化后,调试log打到显示器上。

ifconfig 该环境变量用来为tftp服务自动设置ip地址,如rtl0:172.16.1.205。



6 PMON中如何植入图片

1、图片首先通过PMON的load命令写到flash芯片中。

  load -r -f xxxxxxxx tftp:%%//%%ip_addr/picture.bmp.gz(tftp方式)

  load -r -f xxxxxxxx /dev/fs/ext2@usb0/path/picture.bmp.gz(u盘方式)

注:xxxxxxxx代表物理地址,ip_addr代表ip地址,如172.16.0.30,path代表文件路径,picture代表图片文件的名字。

2、PMON显示图片是通过fb/cfb_console.c文件中的 video_display_bitmap函数实现的,其函数原型为int video_display_bitmap(ulong bmp_image, int x, int y),参数bmp_image指明图片文件的数据所在的地址,也就是1中提到的xxxxxxxx,x表明图片显示的x坐标,y表明图片显示的y坐标。

以PMON的logo图片为例:

图片:448 x 224 x 8;bmp格式;

首先将图片压缩

  gzip logo.bmp

接着用load命令装载到PMON中,其数据的起始地址为bfc60000

  load -r -f bfc60000 tftp:%%//%%ip_address/logo.bmp.gz

接着就可以在代码合适的地方,通过调用函数video_display_bitmap()来在屏幕上显示之,如video_display_bitmap(bfc60000,0,0),即表示从屏幕的(0,0)坐标开始显示此图片。

注:

pmon中图片位深是8位色(256),bmp格式

图片的高度和宽度均为8的整数倍,这样做的目的是使得图片的显示效果好。
 楼主| 发表于 2012-4-4 19:07:00 | 显示全部楼层
一、PMON 2000 for Loongson的新特性
为用户带来了全新的PMON2000版本PMON 2000 for Loongson Version 1.1.2.1。此版本具备以下的新特性:
1、   全新的启动菜单,以菜单的形式提供启动项选择功能,支持用户启动多个操作系统。区别于原有的命令行操作模式,提供友好直观的操作界面给用户进行系统启动选择操作。用户可以通过上下方向键、HOME、END、PAGEUP和PAGEDOWN键盘进行菜单选择操作,回车则加载选中的操作系统。
2、   支持存放于硬盘或者光盘中的配置文件用于设置启动菜单。具体配置文件格式,请参阅相关配置文件格式说明文档。对于硬盘启动来说配置文件位于第一个硬盘的第一个分区根目录下,命名为boot.cfg,且该分区文件系统格式为ext2。对于光盘启动来说配置文件则位于光盘根目录下,命名为boot.cfg。
3、   在启动菜单中支持从CD-ROM启动或者从硬盘启动,仅在存在CD-ROM或者硬盘,并且均有启动配置文件的情况下出现该菜单项。
以下是针对命令行操作模式的改进:
4、   内核启动初始化镜像文件(initrd)加载支持,增加的initrd指令支持为内核加载内核启动初始化镜像文件(initrd)。
5、   完善的键盘事件处理支持,能正确处理CAPS LOCK、Scroll Lock、Num Lock、数字小键盘、方向键、home、end、pageup、pagedown、Fn、Tab等键盘按键事件。对于未处理键盘,则不显示Ctrl+G字符。
6、   增加对Control+Alt+Del事件处理,直接重新启动计算机。
7、   支持Ctrl+W、Ctrl+U删除整行输入数据。
8、   支持Ctrl+P/上方向键/PageUP、Ctrl+N/下方向键/PageDown向前向后查找历史命令记录。
9、   支持Ctrl+J/回车键/小键盘回车键执行指令。
10、   支持Ctrl+H/BACKSPACE回退删除字符。
11、   支持Ctrl+A/HOME,回到输入行头,Ctrl+E/END,跳至输入行尾。
12、   支持Ctrl+S终端屏幕输入显示,Ctrl+Q恢复屏幕输入显示。
13、   完善对hist命令记录的处理流程,使得在hist头尾的时候不出现非法错误,不出现hist搜寻错误。
14、   增加对ifaddr的等同命令ifconfig。
15、   增加对h的等同命令help。
16、   增加启动时自动根据环境变量netaddr启动网络设备的功能。
17、   为保持和Linux系统一致,将网卡名称从rtl0改为eth0。
18、   增加cat指令用于输出文件内容。
19、   增加了对reiserfs文件系统的支持。用户可以把linux内核文件,内核启动初始化镜像文件(initrd.img)和启动界面配置文件boot.cfg存放在reiserfs分区,pmon能够很好的读出文件信息。20、   支持扩展分区启动。
21、主要该进在于分区和设备,使用新的书写方式“(设备名,分区
号)”代替原有的”/dev/fs/文件系统类型@设备名”的方式。
新的书写方式中的分区号,是从0开始,磁盘上的第一个分区为0号。
对于第一个逻辑分区对应的分区号必须是4,因此第二个逻辑分区为5。分区号与原
有系统的分区表示的对应关系为分区号为0对应原有的分区号为a。第一个逻辑分区对应的
原有的分区号为e。
例如原有的load命令输入方式
load /dev/fs/ext2@wd0/vmlinux
load /dev/fs/reiserfs@wd0e/vmlinux
新的书写方式
load (wd0,0)/vmlinux
load (wd0,4)/vmlinux
适用此修改的命令有:load,dir(只能使用新格式),cat以及配置文件中的kernel
和initrd命令。
注意,对于原有的书写方式,本系统同样支持。
22、   增加列分区指令partls <part_name>,例如partls wd0
列分区命令partls,可以把磁盘中的分区信息打印出来,显示分区号,分区开始和结
束的扇区号,大小,文件系统和分区类型。
命令格式:partls 设备名称。
例如 partls wd0 或者
23、   增加列分区文件系统目录命令dir <part_name/dirname>,例如dir (wd0,0)/boot/
列目录命令dir,可以列出分区上的所有文件。
命令格式:dir (设备名称,分区号)
可以列出这个分区的根目录信息,分区号从0开始计数。
如果想列出下层目录的写法:dir (设备名称,分区号)/目录名。

24、   修改了启动配置文件boot.cfg 的存在路径,系统优先在根目录下查
找boot.cfg 文件。如果不存在,则在/boot 目录下,查找boot.cfg 文
件。
25、   在pmon中增加了环境变量bootdev,用于设置默认的boot.cfg存放的分区。系统
优先在用户设置的目录下查找boot.cfg配置文件。
启动电脑,进入pmon设置环境,使用set命令,增加bootdev 设置。
例如 pmon>set bootdev (wd0,0) 。


26、   对于usb0 设备分为两种情况,
(1)如果usb0设备是移动硬盘,书写方式使用新的书写方式。
(2)对于usb0设备是光驱,必须使用”/dev/iso9660/usb0/vmlinux”方式
27、 增加对fat16 文件系统的支持
支持fat16分区中的长文件名。
28、在boot.cfg 文件配置中增加root 命令,用于设置内核和
initrd.img 文件的路径,用于取代kernel 和initrd 命令中的路径设置。
29、取消了对环境变量novga, nokbd的支持。
发表于 2012-6-1 09:58:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-1-7 23:32:43 | 显示全部楼层
mark  pmon
发表于 2014-1-8 09:55:36 | 显示全部楼层
回复 7# tanhitzq


    支持一下,内核是通过tftp下载的,
    和龙芯1B开发板、核心板类似。下面是在龙芯1B上,tftp下载内核,nfs加载根文件系统。
load tftp://192.168.0.156/vmlinuz
g root=/dev/nfs rw nfsroot=192.168.0.156:/nfsramdisk/LS1Brootfs noinitrd init=/linuxrc console=ttyS5,115200 ip=192.168.0.153:::::eth0ff

本版积分规则

小黑屋|手机版|Archiver|Lemote Inc.  

GMT+8, 2019-5-23 04:34 , Processed in 0.212609 second(s), 16 queries .

快速回复 返回顶部 返回列表