zoukankan      html  css  js  c++  java
  • initramfs打包集成rootfs到image镜像及linux rootfs的正常启动

    最近的项目中需要在仿真机haps及VDK上集成rootfs,中间遇到一些问题,在此整理记录以备忘。

    rootfs里面集成的busybox版本1.29.3 (buildroot环境中自带)

    kernel版本4.14

    u-boot传递bootcmdline参数给kernel

    在arch/arm64/configs中修改defconfig文件配置initramfs的文件路径

    CONFIG_BLK_DEV_INITRD=y
    CONFIG_INITRAMFS_SOURCE="./rootfs_test"

    CONFIG_DEVTMPFS=y

    CONFIG_DEVTMPFS_MOUNT=y

    CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES="jxx/jxx_jxx890_xyz"
    CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE=y

    rootfs需要支持:

    1./dev management (Dynamic using devtmpfs + mdev)

    2.busybox启动时的配置文件inittab的改动:

    ::sysinit:/bin/mount -t proc proc /proc
    ::sysinit:/bin/mount -o remount,rw /
    ::sysinit:/bin/mkdir -p /dev/pts /dev/shm
    ::sysinit:/bin/mount -a
    ::sysinit:/sbin/swapon -a
    null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
    null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
    null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
    null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
    ::sysinit:/bin/hostname -F /etc/hostname
    # now run any rc scripts
    ::sysinit:/etc/init.d/rcS

    # Put a getty on the serial port
    #ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL
    console::respawn:-/bin/sh #start console

    # Stuff to do for the 3-finger salute
    #::ctrlaltdel:/sbin/reboot

    # Stuff to do before rebooting
    ::shutdown:/etc/init.d/rcK
    ::shutdown:/sbin/swapoff -a
    ::shutdown:/bin/umount -a -r

    3.遇到的问题

    console一直进不去:

    一开始怀疑是ttySx这个没对应的问题,也怀疑过bootcmdline有问题,甚至怀疑是kernel没有启动busybox。

    最后发现是/dev目录下面的文件没有被正常创建的问题。

    etc/init.d/S10mdev这个文件里面:

    echo "Starting mdev..."
    echo /sbin/mdev >/proc/sys/kernel/hotplug
    /sbin/mdev -s  (再启动时会执行创建/dev目录下面的文件)

    S10mdev该文件会在init的时候执行,所以需要有可执行权限。若没有会提示:permission denied.

    改过之后发现就可以正常打开console输入命令了。

  • 相关阅读:
    [转]window.location方法获取URL及window.location.assign(url)和replace(url)区别
    [转]JQuery实现图片轮播效果
    [转]MVC Checkbox
    [转]VS2010类模板更改,增加版权等等信息
    [转]【译】详解Asp.net MVC DropDownLists
    [转]JQuery.Ajax之错误调试帮助信息
    设置Html.TextBoxFor的Value值 及 去除数字无效的零及小数点
    [转]使用RDLC报表(1) (4)
    [转]ASP.NET MVC 2 模板化辅助方法
    [转]jquery实现图片延时加载
  • 原文地址:https://www.cnblogs.com/wangym/p/11283749.html
Copyright © 2011-2022 走看看