2009年9月3日 星期四

在CF卡上安裝Ubuntu 8.10

這部份資料都是參考Dennis前輩的網頁
只是我這邊在做一些筆記而已

1.格式化CF卡 , 我是分成/boot 以及 / , 沒有切swap出來用
# fdisk /dev/sda
# mkfs.ext3 -m 0 /dev/sda1
# mkfs.ext3 -m 0 /dev/sda2
-m 0 指的是不多分5%空間給root
# mkdir /mnt/sda2
# mount /dev/sda2 /mnt/sda2

2.用debootstrap做出Ubuntu 8.10的filesystem
# apt-get install debootstrap
# debootstrap --arch i386 intrepid /mnt/sda2
這邊的intrepid指的是Ubuntu 8.10的版本代碼

3.安裝Grub on /boot
# mount /dev/sda1 /mnt/sda2/boot
# grub-install --root-directory=/mnt/sda2 /dev/sda
參數代表root的位置以及你要安裝grub的裝置位置(/dev/sda 為 第一個硬碟的MBR)
# grub
grub> root (hd0,0) (指定你的 /boot 分割區位置)
grub> setup (hd0) (安裝 GRUB 到 MBR)
grub> quit (離開 GRUB shell)
# touch /mnt/sda2/boot/grub/menu.lst
在Ubuntu 8.10是去讀menu.lst , 不是grub.conf
建立自己的menu.lst
--------------------------------------------------------

ex:
default 0
timeout 3

title Ubuntu 8.10 , Kernel 2.6.27.7
root (hd0,0)
kernel /vmlinuz root=/dev/sda2 ro quiet
initrd /initrd.img

---------------------------------------------------------

3. 在Host PC上做出vmlinuz以及initrd.img
這邊就不贅述了 , 做好後把vmlinuz initrd.img 以及modules放到CF卡上
重開機後就可以用CF開機 , 並且進入你做好的Linux內了!
我做到這邊尚無X window大概花了600M的空間

4. 先把最重要的網路用起來
# vi /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
# /etc/init.d/networking restart
再設定apt的sourcelist
# apt-get update
編輯fstab
# vi /etc/fstab
/dev/sda2 / ext3 relatime,errors=remount-ro 0 1
/dev/sda1 /boot ext3 relatime 0 2

5. 安裝X Window
# apt-get install xserver-xorg-core xterm gnome-core gdm (843M)
# apt-get install xbase-clients (2662K)
# X -configure
# cp ~/xorg.conf.new /etc/X11/xorg.conf
# startx

Resolution不對 , 無法顯示正確的1024x600_60.00
感覺桌面被定死在1024x768 , 所以1024x600都會造成無法顯示下面的區塊
800x600也不行...真的是Driver問題嗎!!?
恩...Driver的問題...
修改xf86-video-geode-2.11.3/src/lx_panel.c即可

6. 好用的Tools
# apt-get install pciutils (lspci)
測試用Tools
# apt-get install hdparm (hdparm)
# apt-get install ssh (可以直接在host端控制)

7. 修改user權限, 使user運作正常
由於adduser產生的user, 在Debian上沒有加入其他groups, 所以在Audio或者是network-manager的使用上有問題. 以下範例適用於debian
# usermod -g ($Userid) -a -G adm dialout cdrom plugdev netdev audio ($Userid)

8. 開機出現的錯誤訊息
mfgpt-timer: could not allocate a MFPGT timer
LX800的一個.c檔所造成
hub 1-0:1.0: unable to enumerate USB device on port 3