Virtualbox運(yùn)行 自編譯的Linux
最近要好好學(xué)習(xí)一下Linux驅(qū)動(dòng),所以想找個(gè)運(yùn)行環(huán)境,自己編譯內(nèi)核,然后在其上做實(shí)驗(yàn),所以就想在VirtualBox上進(jìn)行。
1.首先建立個(gè)硬盤鏡像:
dd if=/dev/zero of=hd.img bs=1M count=512
2. 為磁盤鏡像分區(qū)
首先作為一個(gè)loop device 安裝
losetup /dev/loop1 hd.img
fdisk /dev/loop1
對(duì)其進(jìn)行分區(qū),我是只分了一個(gè)主分區(qū)
3. 格式化分區(qū)
注意:由于我們只有個(gè)loop1 指向hd.img的磁盤開始,而我們現(xiàn)在需要的是hd.img分區(qū),所以我們要用到另一個(gè)loop device:
losetup -o 32256 /dev/loop2 /dev/loop1
mkfs.ext2 /dev/loop2
4. 按照文件系統(tǒng):
mkdir ./mnt
mount -o loop /dev/loop2 mnt
cd mnt
mkdir -p boot/grub
4. 編譯grub:
這個(gè)沒什么可說的,如果你不想麻煩,可以直接從你的Linux相同上復(fù)制.
cp /YOUR-PATH/stage[12] mnt/boot/grub
5. 編譯busybox
cp /busybox/_install/* mnt/ -av
6.編譯內(nèi)核, 我用的是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. 轉(zhuǎn)換磁盤鏡像
qemu-img convert hd.img -O raw hd.raw VBoxManage convertdd hd.raw hd.vdi
12. 用VirtualBox 創(chuàng)建虛擬機(jī)運(yùn)行吧
【編輯推薦】