Virtualbox运行 自编译的Linux


最近要好好学习一下Linux驱动,所以想找个运行环境,自己编译内核,然后在其上做实验,所以就想在VirtualBox上进行。

1.首先建立个硬盘镜像:

dd if=/dev/zero of=hd.img bs=1M count=512

2. 为磁盘镜像分区

首先作为一个loop device 安装

losetup /dev/loop1 hd.img

fdisk /dev/loop1

对其进行分区,我是只分了一个主分区

3. 格式化分区

注意:由于我们只有个loop1 指向hd.img的磁盘开始,而我们现在需要的是hd.img分区,所以我们要用到另一个loop device:

losetup -o 32256 /dev/loop2 /dev/loop1

mkfs.ext2 /dev/loop2

4. 按照文件系统:

mkdir ./mnt

mount -o loop /dev/loop2 mnt

cd mnt

mkdir -p boot/grub

4. 编译grub:

这个没什么可说的,如果你不想麻烦,可以直接从你的Linux相同上复制.

cp /YOUR-PATH/stage[12] mnt/boot/grub

5. 编译busybox

cp /busybox/_install/* mnt/  -av

6.编译内核, 我用的是2.6.31.3

cp vmlinuz mnt/boot

7. 制作initrd.gz

cp initrd.gz mnt/boot

8. 编辑文集 mnt/boot/menu.lst

default 0

title MyLinux

root (hd0,0)

kernel /boot/vmlinuz

initrd /boot/initrd.gz

9. 编写配置文件

/-- 明天再写 --/

10。 安装grub

grub --device-map=/dev/null

grub> device (hd0) hd.img

grub> root (hd0,0)

grub> setup (hd0)

11. 转换磁盘镜像

qemu-img convert hd.img -O raw hd.raw VBoxManage convertdd hd.raw hd.vdi

12. 用VirtualBox 创建虚拟机运行吧

相关内容