龙芯2K1000la开发之更新文件系统及内核

当我们在windows下虚拟机环境中编译完了内核镜像(vmlinuz)也准备好了文件系统后我们就可以去更新开发板上的内核系统了,下面我为大家分享一下用u盘更新开发板linux内核系统的方法。

首先我不推荐大家使用网口更新Linux内核系统,因为网口更新的速度远小于u盘更新的速度,u盘更新速度比网口快3-5倍。在更新时我们需要将u盘在开发板上电之前插入,开机后按c键进入pmon命令行,首先将我们的pmon引导程序和设备树写到flash中 :

load -rf 0x1c000000 (usb0,0)/boot/gzrom-dtb.bin

加载完成后把我们的内核镜像源vmlinuz加载到内存中:

load (usb0,0)/boot/vmlinuz

加载完后再把我们准备好的文件系统映像加载到内存中:

initrd (usb0,0)/boot/loongos.cpio.gz

加载完后就可以启动该系统了:g console=ttyS0,115200 rdinit=/sbin/init

注意:initrd所加载的是一个临时文件系统,它把你要加载的系统放到了内存中而非硬盘中,这样做提高了加载的速度,vmlinuz和loongos.cpio.gz都是内核镜像源,只不过vmlinuz包含的是应用时候的驱动、模块、脚本和其它重要文件,而loongos包含的是启动系统时的驱动、模块、脚本和其它重要文件。二者组合在一起形成了完整的操作系统。

因为我们是将内核系统加载到了内存中,那么reboot后就被清空了,即使我们配置了相关的文件也是徒劳,因此我们需要将我们的系统写到硬盘上,首先我们需要查看到硬盘的设备节点(fdisk -l),然后在临时文件系统的目录下为硬盘创建一个文件夹,然后将硬盘挂载到该文件夹上,这时我们便可以查看硬盘中内容了,也可以删除掉之前旧系统的文件,当然在删除之前你可以先把u盘挂载到临时文件系统上,把要删除的文件拷贝进去。删除完后就可以把我们之前拷贝在u盘中的新的内核系统cp到硬盘中了,这才是我们的真正目的,我们需要临时文件系统这个媒介,让硬盘和u盘都挂载到它上面,这样我们就可实现把u盘中的数据写入硬盘,完成内核系统的更新。一下是龙芯2k1000la使用u盘更新文件系统和内核的具体操作:

龙芯2K1000la开发之更新文件系统及内核_第1张图片

龙芯2K1000la开发之更新文件系统及内核_第2张图片

注:挂载完硬盘和u盘并删除硬盘中原来的文件系统后一定要先将新的文件系统从u盘中复制到硬盘中并解压,因为没有新的文件系统我们无法进行下面的操作,千万不要先创建文件夹然后先去复制内核。一定要按上面步骤进行否则会更新系统失败

其中截图资料来自龙芯中科的固件烧写参考

你可能感兴趣的:(linux,运维,服务器)