海思35xx系统移植

    xiaoxiao2024-10-20  140

    嵌入式Linux系统移植

    海思35xx系统移植制作根文件系统参考文档

    海思35xx系统移植

    制作根文件系统

    编译和安装 busybox

    下载busybox源码,依次运行make 和 make install 默认会在 _install 目录下生成系统基本的文件。

    制作根文件系统的相关文件

    在/home/luoyang/nfsroot/myrootfs 目录下建立 rootfs_glibc 目录,然后将上一步 _install 目录下所有文件复制进去,再建立一些基本的目录:

    cd /home/luoyang/nfsroot mkdir rootfs_glibc cp -R packet/busybox-1.20.2/_install/* . # -R 就是复制所有 mkdir etc dev lib tmp var mnt home proc

    配置 etc、lib、dev 目录的必需文件。

    a) etc 目录可参考系统/etc 下的文件。其中最主要的文件包括 inittab、fstab、init.d/rcS 文件等,这些文件最好从 busybox 的 examples 目录下拷贝过来,根据需要自行修改。 b) dev 目录下的设备文件,可以直接从系统中拷贝过来或者使用 mknod 命令生成需 要的设备文件。拷贝文件时请使用 cp –R file。(注:海思提供了udev的源码,可以使用udev自动检测设备) c) lib 目录是存放应用程序所需要的库文件,请根据应用程序需要拷贝相应的库文 件。(关于海思的一些库直接从长沙3531D开发板复制出来的)

    修改 /etc/fstab 文件如下:

    proc /proc proc defaults,nodev,nosuid 0 0 sysfs /sys sysfs defaults,nodev,nosuid 0 0 tmpfs /dev tmpfs defaults 0 0 tmpfs /tmp tmpfs defaults 0 0

    修改 /etc/inittab 文件

    # Boot-time system configuration/initialization script. # This is run first except when booting in single-user mode. # ::sysinit:/etc/init.d/rcS # Example of how to put a getty on a serial line (for a terminal) ::respawn:/sbin/getty -L ttyS000 115200 vt100 -n root -I "Auto login as root ..." #::respawn:/sbin/getty -L ttyS1 9600 vt100 # # Example how to put a getty on a modem line. #::respawn:/sbin/getty 57600 ttyS2 # Stuff to do when restarting the init process ::restart:/sbin/init # Stuff to do before rebooting ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r ::shutdown:/sbin/swapoff -a

    关于海思设备节点自动添加的问题

    在海思 /etc/init.d/S01udev这个文件中有如下命令:

    #!/bin/sh mkdir /dev/pts mount -t devpts devpts /dev/pts mkdir -p /dev/.udev udevd --daemon udevadm trigger

    这个就是用于设备热拔插设置hotplug(即,设备自动检测)。

    编译内核指令

    make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux- uImage

    boot from yaffs2

    setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rw rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),128M(rootfs)'

    boot from nfs:

    setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.1.119:/home/luoyang/nfsroot/myrootfs/rootfs_glibc ip=192.168.1.98:192.168.1.119:192.168.1.1:255.255.255.0 console=ttyAMA0,115200 mem=128M'

    参考文档

    uboot nfs 启动uboot 官方关于 nfs 启动关于nfs启动上面的启动参数的详解利用busybox和mkfs.jffs2制作根文件系统hi3518c根文件系统的制作与移植Linux根文件系统制作一步一步制作yaffs根文件系统mdev的hotplug模式 :海思用的不是mdev,用的udev
    最新回复(0)