[继 V83X 更新设备树后] 在 M2DOCK V831 上使用 DD 直接板载更新内核。
最近因为一些奇怪的需求,需要实时更新一下内核(boot.img),以下所有用法为自己记录用途。
关于 V831 / V833 Tina Linux 更新设备树( dts > dtb )的用法
是更新设备树文件的一种方法,后来把摄像头驱动、触摸驱动之类的模块移到用户空间 rootfs 下后也解决了一些在线更换系统驱动的问题,这些都是需要重启生效哈,个别驱动模块可以热拔插,但系统相关的就不要折腾。
想要不完整烧录快速调试内核
在 SDK 编译后执行以下操作即可
mkernel && adb push ./out/v831-sipeed/boot.img /root/ && adb shell "dd if=/root/boot.img of=/dev/by-name/boot && reboot"
第一步将 kernel 更新到 boot.img 。
第二步将 boot.img DD 进 /dev/by-name/boot 。
第三步重启生效。
其实很简单,就是要做一下,其他像 uboot 的 env.cfg 字符串也可以用类似的方式实现。
但这种方法不会影响编译出来的 ko 文件,按道理来说全部 ko 拓展是最好的,但实际发现 WIFI 模块如果不包含在 kernel 里,初始化和启动时间要延长到系统启动之后,这样体验感并不好,所以有利有弊。
拓展用法
其他芯片同理,不过在 M3AXPI 后我将它们挂到了 /boot/ 分区下,实现了类似 ARMBIAN 的操作。