码迷,mamicode.com
首页 > 其他好文 > 详细

使用busybox构建根文件系统

时间:2015-02-02 21:24:20      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

当我们在Qemu上运行起来自己编译的内核之后,需要使用busybox构建一个文件系统,将此文件系统挂载上去就可以使用busybox提供的各种命令了。

1.编译安装busybox

源码下载地址:http://www.busybox.net/downloads/

编译安装过程:

tar jxvf busybox-1.23.1.tar.bz2
cd busybox-1.23.1
make menuconfig
选择静态编译
BusyboxSettings->Build options->Build Busybox as a static binary
make

编译完成之后先不要直接make install,我们先构建一个ext4的文件系统

dd if=/dev/zero of=rootfs.img bs=1M count=32
mkfs.ext4 rootfs.img
创建一个rootfs的目录
mkdir rootfs
将rootfs.img挂载到此目录上
sudo mount -t ext4 -o loop rootfs.img rootfs
切换到rootfs目录
sudo cd rootfs
sudo mkdir dev proc sys

再回到编译busybox的目录,将busybox安装到此目录下

make install CONFIG_PREFIX=~/Qemu/rootfs
cd ~/Qemu/rootfs
sudo 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命令下打开gdbserver
gdbserver tcp::1234

在编译处内核的目录下用gdb打开vmlinux

gdb vmlinux
在gdb命令下执行
target remote localhost:1234
continue

这样我们自己编译的内核以及文件系统就可以用gdb+qemu调试了。

技术分享

使用busybox构建根文件系统

标签:

原文地址:http://www.cnblogs.com/elvalad/p/4268577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!