首页 > 代码库 > 使用busybox构建根文件系统
使用busybox构建根文件系统
当我们在Qemu上运行起来自己编译的内核之后,需要使用busybox构建一个文件系统,将此文件系统挂载上去就可以使用busybox提供的各种命令了。
1.编译安装busybox
源码下载地址:http://www.busybox.net/downloads/
编译安装过程:
tar jxvf busybox-1.23.1.tar.bz2cd busybox-1.23.1make menuconfig选择静态编译BusyboxSettings->Build options->Build Busybox as a static binarymake
编译完成之后先不要直接make install,我们先构建一个ext4的文件系统
dd if=/dev/zero of=rootfs.img bs=1M count=32mkfs.ext4 rootfs.img创建一个rootfs的目录mkdir rootfs将rootfs.img挂载到此目录上sudo mount -t ext4 -o loop rootfs.img rootfs切换到rootfs目录sudo cd rootfssudo mkdir dev proc sys
再回到编译busybox的目录,将busybox安装到此目录下
make install CONFIG_PREFIX=~/Qemu/rootfscd ~/Qemu/rootfssudo umount rootfs
2.以rootfs为根文件系统在Qemu下运行编译处的内核
在一个终端下执行
qemu-system-i386 -S -kernel bzImage -hda rootfs.img -append "root=/dev/sda init=/bin/ash rw" -monitor stdio在qemu命令下打开gdbservergdbserver tcp::1234
在编译处内核的目录下用gdb打开vmlinux
gdb vmlinux在gdb命令下执行target remote localhost:1234continue
这样我们自己编译的内核以及文件系统就可以用gdb+qemu调试了。
使用busybox构建根文件系统
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。