龙芯pmon常用命令
发布时间:2020-12-15 06:23:53 所属栏目:百科 来源:网络整理
导读:?PMON是一个兼有BIOS和boot loader部分功能的开放源码软件,多用于嵌入式系统。 与BIOS相比功能不足,与常见的bootloader 相比,功能要丰富的多。基于龙芯的系统采用 pmon 作为类 BIOS 兼 bootloader,并做了很多完善工作。 其有如下主要特点: ??? * 支持ext
?PMON是一个兼有BIOS和boot loader部分功能的开放源码软件,多用于嵌入式系统。
与BIOS相比功能不足,与常见的bootloader 相比,功能要丰富的多。基于龙芯的系统采用 pmon 作为类 BIOS 兼 bootloader,并做了很多完善工作。 其有如下主要特点: ??? * 支持ext2 fat32 ram 文件系统 ? ? * 支持网络引导(tftp),磁盘引导,flash 引导 ? ? * 内建调试功能(强大,调试内核举重若轻) ? ? * USB 2.0 Mass Storage 支持 ? ? * 支持MIPS、ARM、PowerPC 平台 ? ? * BSD Licensed ? ? ... 以下结合实际,给出开发中常用的命令介绍 1. pmon 日常命令 ??? a. load --- 加载文件 ??? load [-options] pathname ??? -o offset ? ? 将文件加载到内存 load_address + offset 处 ? ? -f addr ? ? ? 将文件加载到 flash 的地址 addr 处 ? ? pathname ? ? 要加载的文件路径或URL ??? 其他选项 h load 查看 ??? 例子: ??? 加载位于硬盘第一个分区的(pmon 只认第一个分区)内核: ??????? load /dev/fs/ext2@wd0/boot/vmlinux ? # 第一个分区是ext2文件系统 ? ? ? ? load /dev/fs/ext2@wd0b/boot/vmlinux #加载第二个分区上的内核文件,wd0c,wd0d,为第三,四个分区。 ??? 从远程tftp服务器上加载内核: (该功能在反复编译调试内核中很方便) ? ? ? load tftp://192.168.10.100/vmlinux ? # 先要配置好网络 ? ? 其他格式: ? ? ? ? ? ? load /dev/fs/iso9660@cd0/boot/vmlinux ? ? ? ? load /dev/ram@address ? ? ? ? load /dev/ram@address,size ? ? ? ? load /dev/ram/logger ? ? ? ? 这些在龙梦电脑上很少用到,不知有没有被支持(未测试) ? ? ? PS: 以上 wd0,cd0,ram 为pmon 对设备的命名,可以用 devls 命令查看他发现并支持 ? ? ? ? 的所有设备,龙梦电脑上常见的设备为: ? ? ? ? ? wd0 --------- 磁盘 ? ? ? ? ? rtl0 --------- 网卡 ? ? ? ? ? usb0 --------- usb 存储设备 ? ? ? ? ? cd0 --------- 光盘 ? ? ? ? ? ram --------- 内存 ? ? ? ? ? ? b. g ------ 执行程序 ? ? g [-st] [-b addr] [-e addr] [-- args...] ? ? ? ? 当 load 完一个文件后,通过 g 命令告诉 pmon 开始执行刚刚载人的文件 ? ? 例子: ? ? ? ? ? ? g? # 从 epc 寄存器指定的地址处开始执行 ? ? ? ? g -e addr # 从内存地址 addr 处开始执行 ? ? ? ? g -e addr -b add2 # 从内存地址 addr 处开始执行,在addr2处设置一个临时断点 ? ? ? ? ? ? ? ? # 在下一次执行挂起时删除该断点 ? ? ? ? g console=tty root=/dev/hda1 # 从 epc 寄存器指定的地址处开始执行,并将参数 ? ? ? ? ? ? ??? # console=tty root=/dev/hda1 传递给程序(内核) ? c. devls ------- 显示设备 ? ? devls [-a] ? ? ? 例子: ? ? ? ? devls -a # 显示所有设备 ? ? ? d. ifaddr ------ 配置网卡 ? ? ifaddr ifname ipaddr[:ifparameters] ? ? 其中 第二个字段可以为 ipaddr:netmask:broadcast:gateway ? ? ? 例子: ? ? ? ? ifaddr rtl0 192.168.10.99 # 设置网卡 rtl0 的 IP 地址 ? ? ? ? ? ? ? ? ifaddr rtl0 192.168.10.99:255.255.255.0::192.168.10.2 # 设置网卡 IP 地址和网关 ? ? ? ? e. ping ? ? ping 192.168.10.188 # 测试网络是否配置好 [补充] A. PMON 更新命令 load -r -f bfc00000 tftp://SERVER_IP/gzrom.bin load -r -f bfc00000 /dev/fs/ext2@wd0/gzrom.bin 可以从系统更新PMON: modprobe physmap ? ? [装上mtd驱动以识别eeprom] mknod /dev/mtd0 c 90 0 ? ? [创建mtd设备文件] cp gzrom.bin /dev/mtd0 ? ? [写入] sync reboot B. 从 USB 光驱加载 kernel: ? load iso9660/usb0/path/to/kernel C. 从 U 盘或者移动硬盘加载 kernel: ? load /dev/fs/ext2@usb0/path/to/kernel ? 注意:如果根文件系统位于 U 盘或者移动硬盘的话,传给内核的参数应为: ? ? root=8:1 rootdelay=5 //------------------------------------------------------------另一篇文章---------------------------------------------------- 输出到串口/显示器(永久起效) set novga 1/0 输出到串口/显示器(临时起效) setvga 0/1 设定默认启动内核,第一个IDE硬盘第一个分区(其他分区改a为其他字母即可): set al /dev/fs/ext2@wd0a/boot/vmlinux-2.6.18-godson2e 设定内核启动参数: set karg "console=tty root=/dev/hda2 init=/sbin/runit-init" 加载内核: load /dev/fs/ext2@usb0/path/to/netboot.image 启动内核: g console=tty root=/dev/hda1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |