龙芯的PMON(bootloader)常用功能记录

tech2022-08-10  142

目录

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 文件系统镜像


1 用不同的方式加载内核镜像

1.1 调试的时候手动加载kernel镜像

1.1.1 JTAG 加载 kernel镜像

PMON启动成功后,进入JTAG命令行,执行以下命令:

    put vmlinuz 0xffffffff84000000     put vmlinuz 0xffffffff84000000     cont

回到PMON命令行下,执行:

    load /dev/ram@0x84000000

    g console=ttyS0,115200 root=/dev/sda1

1.1.2 U盘加载 kernel镜像

U盘格式为ext2,在PMON命令行下执行:

    load /dev/fs/ext2@usb0/boot/vmlinuz

    g console=ttyS0,115200 root=/dev/sda1

1.1.3 硬盘加载 kernel镜像

硬盘格式为ext2,在PMON命令行下执行:

    load /dev/fs/ext2@wd0/boot/vmlinuz

    g console=ttyS0,115200 root=/dev/sda1

1.1.4 网络加载 kernel镜像

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

1.1.5 NAND flash 加载 kernel镜像

在 PMON 下将 kernel 从 U 盘烧写到 NAND 上

    devcp /dev/fs/ext2@usb0/boot/vmlinuz /dev/mtd0

加载 kernel

    load /dev/mtd0

    g console=ttyS0,115200 root=/dev/sda1

1.2 设置PMON启动参数,系统引导时自动加载kernel镜像

只需要设置PMON下的al1环境变量即可,比如将al1设置为"/dev/fs/ext2@usb0/boot/vmlinuz"

 

2 PMON 下设置 IP 并保存

set ifconfig syn0:192.168.0.236

3 PMON会自动执行磁盘上/boot/boot.cfg文件

相关代码:

//pmon/common/main.c;

load_menu_list()     -> bl -d ide /dev/fs/ext2@usb0/boot/boot.cfg

4 PMON下在代码中设置环境变量的默认值

文件:pmon/common/main.c setenv("al1",.......

5 PMON下修改PMON的版本信息

文件:conf/newvers.sh 在 45 行左右的 osr="version xxxxxx"

6 在 PMON 命令行下升级 PMON

从网络(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

7 PMON下烧写 yaffs2 文件系统镜像

    devcp /dev/fs/ext2@usb0/home/rootfs.yaffs2 /dev/mtd1

 

 

 

 

最新回复(0)