Embedded Linux kernel的启动参数command line的传递方式

技术总结:

       为了调海思的3716CV200的芯片,在自己的Demo板上跑HiLinux系统(海思裁剪的Linux),用海思的工具烧制完fastboot、kernel、rootfs之后,启动到kernel时,总是报错,信息如下:

        No filesystem could mount root, tried : ext4

        Kernel panic - not syncing: VFS: Unable to mount root fs on unknow-block(179,6)

        根据字面意思,直觉是启动区间设的不对,查启动参数,跟自己在bootargs.bin里写的不一样,启动参数如:

        Kernel command line: mem=1G console=ttyAMA0,115200 root=/dev/mmcblk0p6 rootfstype=ext4 rootwait blkdevparts=mmcblk0:512K(fastboot),

512K(bootargs),4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M

        但是启动过程中自检MMC分区是这个样子的,貌似对不上:

        mmcblk0: p1(fastboot) p2(bootargs) p3(baseparam) p4(pqparam) p5(logo) p6(kernel) p7(rootfs) p8(others)

        这里看到的mmcblk0p6是kernel,不是rootfs,所以需要修改kernel的启动参数,因为文件系统还没挂接,fastboot又已经引导了kernel,所以没有什么命令行是直接可用的,这就这篇文章要解决的问题。


        重写bootargs.bin,将起始写入地址设为512K,与海思默认一致。自己编的bootargs还是不好用,启动完fastboot后不自动引导kernel,用海思自带的就可以。

   

        分析了tools/linux/utils/mkbootargs-tool/bootargs_input.txt文件,删除了其中的bootdelay=0一行,加上了bootfile="uImage"一行,重编,烧制,起来了!:)

        终于看见 Welcome to HiLinux!了!美~~~

        然后配网络,

        ifconfig eth0 hw ether 00:12:34:56:78:99

        ifconfig eth0 192.168.1.113 netmask 255.255.255.0

         route  add default gw 192.168.1.1

         好了,明天配好NFS环境就搭好了,可以和小伙伴们一起工作了!!开发上层应用咯~~


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值