2009年8月28日 星期五

使用 debootstrap 安裝 Debian 於 USB 大拇哥

網路上相關文章很多,但是多半有"手工"打許多指令的步驟,不適合懶人使用。
[ Install Debian on USB ]這篇Wiki前半部直到 Configure Locales 的部份做完,寫得很簡明,接下來是該作者自己的 Casper package 安裝,就不用再繼續 follow up 了。

所以歸納一下步驟如下:
1.  準備好 partition 以安裝 debian。這視個人的大拇哥規劃而定,以下假設裝在 /dev/sdb2(sda 是本機上的硬碟)
以下用 /dev/sd{D}{N} 表示,請自行代換之。

2.  準備好檔案系統 ,並且 mount 到 /mnt
#> mkfs.ext3 /dev/sd{D}{N}
#> mount /dev/sd{D}{N} /mnt

3.   重頭戲來了,從 /etc/apt/sources.list 找一個 mirror site 這裡用 http://debian.nctu.edu.tw/debian/ (要含有斜線)
#> debootstrap lenny /mnt http://debian.nctu.edu.tw/debian/
     接下來會一直抓 package 來安裝,泡盃咖啡去...

4   準備兩個設定檔,一個在裝 kernel 時會用到,另一個是 sources.list,可以直接使用 host 的 /etc/apt/sources.list
#> mkdir -p /mnt/etc/apt
#> echo "do_initrd=yes" > /mnt/etc/kernel-img.conf
#> cp /etc/apt/sources.list  /mnt/etc/apt/

5   準備 fstab 給新系統 (/etc/inittab 則不需煩惱,debootstrap 會 setup inittab)
#> echo "/dev/sd{D}{N}  /  ext3  defaults,errors=remount-ro 0" > /mnt/etc/fstab
#> echo "proc /mnt/proc  proc  none 0 0" >> /mnt/etc/fstab
#> mount proc /mnt/proc  -t  proc

6   接下來用 chroot 切換到新的系統去,
#> chroot /mnt
請注意:經過這步驟,接下來,所有的指令都是下給新系統的了!

7   先設定好 locale 並且把從 host 繼承的 locale 先設空
#> apt-get update
#> apt-get install locales
#> dpkg-reconfigure locales
#> export LANG=
#> export LANGUAGE=
localepurge 是個可裝可不裝的套件,若要省空間,可以這時候裝起來
#> apt-get install localepurge
將來裝套件時 localepurge 可幫忙 free 一些不需要的 locales 資料

8   然後安裝 kernel image,遇到問題都選 y
#> apt-get install linux-image-2.6.26-2-686

9 裝 grub package
#> apt-get install grub

10 將 grub 裝到 MBR :
#> exit
請注意:接下來,我們又回到 host 了!
#> grub-install --root-directory=/mnt --no-floppy --recheck /dev/sd{D}
#> cat > /mnt/boot/grub/menu.lst << EOF
title        Debian GNU/Linux, kernel 2.6.26-2-686
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.26-2-686 root=/dev/sd{D}{N} ro
initrd        /boot/initrd.img-2.6.26-2-686
EOF
這裡把 (hd1,1) 換成了 (hd0,1)  。因為若是用  usb 開機的話,grub 把大拇哥當第一顆硬碟 (hd0), 直到進了 kernel 才又跟 host 所認知的一樣---回到 sdb。


11 打完收工
#> umount /mnt/proc
#> umount /mnt

這樣就有一個可用的 Debian on USB 了!
後記:grub 安裝時,如果抱怨找不到 grub drive 或 stage1 的問題,[這裡]有解答
Technorati 標籤: , ,

沒有留言:

張貼留言