一、分配空间
- 制作64M的镜像文件,命名为myrootfs.ext3
sudo dd if=/dev/zero of=myrootfs.ext3 bs=1M count=64
- 用ext3格式化上一步的镜像文件
sudo mkfs.ext3 myrootfs.ext3
建议放在同级目录下,假设目录名为my_mnt
sudo mount -t ext3 -o loop myrootfs.ext3 my_mnt/
mkdir bin dev etc home lib proc sbin sys tmp usr var root mnt
mkdir usr/bin usr/lib usr/sbin
①激活编译脚本: source /home/mangata/gcc-arm-11/start.sh
②
make defconfig
: ③
make -j4
:
④
make install
:
⑥拷贝内容到根文件系统里:
cp -a _install/* ../my_mnt/
⑦拷贝动态库到根文件系统里: 这里需要找到自己的交叉编译器的位置,我这里的位置是/home/mangata/gcc-arm-11/arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/lib
cp -a * /home/mangata/lib/lib3/my_mnt/lib/
2.4填充内容之配置文件
①编写inittab
文件 vim etc/inittab
然后在inittab
文件中写入
::sysinit:/etc/rc.d/rcS
::askfirst:-/bin/sh
②编写 etc/rc.d/rcS
#!/bin/sh
/bin/mount -a
# echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
mkdir -p /lib/modules/`uname -r`
③编写etc/fstab
文件,为上一步的mount -a
提供脚本支持
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
三、卸载空间
返回上级目录,运行sudo umount
命令
sudo qemu-system-arm -nographic -M vexpress-a9 -m 512M -kernel build/zImage -dtb build/vexpress-v2p-ca9.dtb -append "root=/dev/mmcblk0 rw console=ttyAMA0" -sd myrootfs.ext3