目录
1 用不同的方式加载内核镜像
1.1 调试的时候手动加载kernel镜像
1.1.1 JTAG 加载 kernel镜像
1.1.2 U盘加载 kernel镜像
1.1.3 硬盘加载 kernel镜像
1.1.4 网络加载 kernel镜像
1.1.5 NAND flash 加载 kernel镜像
1.2 设置PMON启动参数,系统引导时自动加载kernel镜像
2 PMON 下设置 IP 并保存
3 PMON会自动执行磁盘上/boot/boot.cfg文件
4 PMON下在代码中设置环境变量的默认值
5 PMON下修改PMON的版本信息
6 在 PMON 命令行下升级 PMON
7 PMON下烧写 yaffs2 文件系统镜像
PMON启动成功后,进入JTAG命令行,执行以下命令:
put vmlinuz 0xffffffff84000000 put vmlinuz 0xffffffff84000000 cont
回到PMON命令行下,执行:
load /dev/ram@0x84000000
g console=ttyS0,115200 root=/dev/sda1
U盘格式为ext2,在PMON命令行下执行:
load /dev/fs/ext2@usb0/boot/vmlinuz
g console=ttyS0,115200 root=/dev/sda1
硬盘格式为ext2,在PMON命令行下执行:
load /dev/fs/ext2@wd0/boot/vmlinuz
g console=ttyS0,115200 root=/dev/sda1
PMON支持tftp加载加载kernel镜像,需要在PC机上安装tftp服务,并将kernel镜像文件放到tftp的传输目录下。然后在PMON命令行下执行:
ifconfig syn0 192.168.0.4 //设置龙芯板卡的本地IP load tftp://192.168.0.144/vmlinuz
g console=ttyS0,115200 root=/dev/sda1
在 PMON 下将 kernel 从 U 盘烧写到 NAND 上
devcp /dev/fs/ext2@usb0/boot/vmlinuz /dev/mtd0
加载 kernel
load /dev/mtd0
g console=ttyS0,115200 root=/dev/sda1
只需要设置PMON下的al1环境变量即可,比如将al1设置为"/dev/fs/ext2@usb0/boot/vmlinuz"
set ifconfig syn0:192.168.0.236
相关代码:
//pmon/common/main.c;
load_menu_list() -> bl -d ide /dev/fs/ext2@usb0/boot/boot.cfg
文件:pmon/common/main.c setenv("al1",.......
文件:conf/newvers.sh 在 45 行左右的 osr="version xxxxxx"
从网络(tftp)更新 load -f 0xbfc00000 -r tftp://192.168.0.8/gzrom.bin 从磁盘更新 load -f 0xbfc00000 -r /dev/fs/ext2@wd0/boot/gzrom.bin 从 U 盘更新 load -f 0xbfc00000 -r /dev/fs/ext2@usb0/pmon/gzrom.bin
devcp /dev/fs/ext2@usb0/home/rootfs.yaffs2 /dev/mtd1