/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi
-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi
--sysroot=/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi
make CONFIG_PREFIX=/home/fangxin/imx6q/rootfs install
qemu 安装
下载源码
https://download.qemu.org/
qemu-system-arm -M sabrelite -m 500 -kernel ./../image/zImage -dtb ./../image/imx6q-forlinx.dtb -initrd ./../image/rootfs.img.gz -append "init=/linuxrc root=/dev/ram rw console=ttymxc0,115200" -nographic
qemu-system-arm -M sabrelite -m 500 -kernel ./../image/zImage -dtb ./../image/imx6q-forlinx.dtb -initrd ./../image/rootfs.img.gz -append "init=/linuxrc root=/dev/mmcblk3p2 rw console=ttymxc0,115200" -nographic
qemu-system-arm -M sabrelite -m 500 -kernel ./../image/zImage -dtb ./../image/imx6q-forlinx.dtb -initrd ./../image/rootfs.img.gz -append "root=/dev/ram init=/linuxrc rw console=ttymxc0,115200" -nographic
busybox 制作文件系统
用交叉编译工具链编译busybox后只有 bin linuxrc sbin user 一个文件和三个文件夹,还需要其它文件夹
# mkdir etc dev mnt 目录
# mkdir -p proc sys tmp mnt 目录 , proc sys 是虚拟文件系统, tmp 是临时文件系统 ,mnt是挂载点
# mkdir -p etc/init.d/ 创建系统启动所执行的脚本
# vim etc/fstab 文件系统挂载的信息 ,用于挂载文件系统
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
# vim etc/init.d/rcS busybox启动时 执行的代码
echo -e "Welcome to linux"
/bin/mount -a 挂载fstab里面的文件系统
echo -e "remounting the root filesystem"
mount -o remount,rw / 重新挂载根文件系统,可读可写
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
# chmod 755 etc/init.d/rcS
# vim etc/inittab busybox启动时的文件
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::cttlaltdel:/bin/umount -a -r
# chmod 755 etc/inittab
# cd dev 创建console 设备文件
# mknod console c 5 1 c字符设备 5主设备号 1次设备号
# mknod null c 1 3
# mknod tty1 c 4 1
打包文件系统镜像
1,先制作一个空的镜像文件
2,然后将此镜像文件格式化为ext3
3, 然后把此镜像文件挂载,把制作好的根文件系统复制到挂载目录
4,卸载该镜像文件
5,打包成gzip包
#!/bin/bash
rm -rf rootfs.ext3
rm -rf fs
dd if=/dev/zero of=./rootfs.ext3 bs=1M count=32
mkfs.ext3 rootfs.ext3
mkdir fs
mount -o loop rootfs.ext3 ./fs
cp -rf ./install/* ./fs
umount ./fs
gzip --best -c rootfs.ext3 > rootfs.img.gz
error4: end Kernel panic - not syncing: Requested init /linuxrc failed (error -2).
cp -a /opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/lib/* /home/fangxin/rootfs/lib
cp -a /opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/* /home/fangxin/rootfs/usr/lib
IMX6Q busybox制作根文件系统2
最新推荐文章于 2025-02-21 16:40:04 发布