进不去系统
在做BSP开发时,难免会因为设置了什么东西,导致启动参数之类的错误,而无法正常进入系统了,这个文档记录一下自己遇到的问题和解决方法
extlinux.conf错误
这个问题出现在调试地平线板子的时候,因为修改错误了/boot/extlinux/extlinux.conf,导致开发板在uboot引导kernel的时候错误,只能进入initramfs
解决思路其实很简单,就是再启动内核前把/boot/extlinux/extlinux.conf改回去。但是这其实还是比较困难的,因为在uboot或者initramfs中是没有直接挂载Linux的/boot目录的,所以没法直接访问
解决办法:
首先得知道/boot在哪个分区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| sunrise@ubuntu:/media$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS mmcblk0 179:0 0 59.6G 0 disk ├─mmcblk0p1 179:1 0 1M 0 part ├─mmcblk0p2 179:2 0 1M 0 part ├─mmcblk0p3 179:3 0 1M 0 part ├─mmcblk0p4 179:4 0 2M 0 part ├─mmcblk0p5 179:5 0 2M 0 part ├─mmcblk0p6 179:6 0 2M 0 part ├─mmcblk0p7 179:7 0 2M 0 part ├─mmcblk0p8 179:8 0 8M 0 part ├─mmcblk0p9 179:9 0 8M 0 part ├─mmcblk0p10 179:10 0 8M 0 part ├─mmcblk0p11 179:11 0 8M 0 part ├─mmcblk0p12 179:12 0 60M 0 part /boot ├─mmcblk0p13 179:13 0 60M 0 part ├─mmcblk0p14 179:14 0 8G 0 part /ota ├─mmcblk0p15 179:15 0 4G 0 part /log ├─mmcblk0p16 179:16 0 2G 0 part /userdata └─mmcblk0p17 179:17 0 45.4G 0 part / mmcblk0boot0 179:32 0 31.9M 1 disk mmcblk0boot1 179:64 0 31.9M 1 disk
|
可以看到/boot在mmcblk0p12分区,之后把这个分区挂载到某个目录,就可以找到extlinux.conf文件了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| mkdir /mnt/boot mount -t ext4 /dev/mmcblk0p12 /mnt/boot cd /mnt/boot/extlinux
cat > extlinux.conf <<EOF ## /boot/extlinux/extlinux.conf default drobot-s100p-rdk-v0p5-kernel prompt 0 timeout 50
label drobot-s100-rdk-v1-2-kernel kernel /vmlinuz-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511 fdt /hobot/rdk-s100-v1-2.dtb initrd /initrd.img-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511
label drobot-s100-rdk-v1-21-kernel kernel /vmlinuz-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511 fdt /hobot/rdk-s100-v1-21.dtb initrd /initrd.img-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511
label drobot-s100p-rdk-v0p6-kernel kernel /vmlinuz-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511 fdt /hobot/rdk-s100p-v0p6.dtb initrd /initrd.img-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511
label drobot-s100-rdk-v1p0-kernel kernel /vmlinuz-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511 fdt /hobot/rdk-s100-v1p0.dtb initrd /initrd.img-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511
label drobot-s100p-rdk-v1p0-kernel kernel /vmlinuz-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511 fdt /hobot/rdk-s100p-v1p0.dtb initrd /initrd.img-6.1.112-rt43-DR-4.0.4-2510152230-gb381cb-g6c4511 EOF
|