archlinux這個版本的作者本身原來玩得是crux,在linux版本的介紹裡面crux屬於進階(or狂熱)玩家使用的。通常像是debian/gentoo/archlinux/crux這類自由度越高的linux版本,安裝時會越需要瞭解一個os的組成要素,如果是使用像ubuntu這類親和性高版本的使用者,通常在安裝時就會卡住。因此特地將自己安裝過程碰到的問題及解法寫下來,以減少其他使用者的挫折。
大部分安裝過程參考官方網站的指引即可,以下的過程將以該指引為主,並在容易出問題時作說明。本文假設您已經不是linux的新手或至少瞭解文字模式的指令如分割硬碟這類,如果您是新手建議先由ubuntu這類圖形安裝介面並按下一步就能安裝完成了版本來入門。
下載安裝用image請至官方網站下載點,撰寫本篇的時間最新版本是3.1 ,只提供x86/64版本。本篇是以2.8版的686版來說明,這裡可以下載非最新版本的image。
以下假設安裝的硬碟編號為/dev/sda,分割成兩個分別為/dev/sda1(系統根目錄)、/dev/sda2(swap用)。本篇是在virtualbox裡面安裝,不考慮UEFI。
1.開機:
開機後請依提示按enter直接進入安裝模式。
2.分割硬碟
本範例是以fdisk將硬碟/dev/sda分割成/dev/sda1、/dev/sda2。接著分別將之格式化為ext3及swap用。
3.掛載分割區及swap
#mount /dev/sda1 /mnt
#swapon /dev/sda2
4.安裝基本系統
執行setup將進入安裝基本系統的畫面,一開始會確認你將系統分割區安裝在/mnt,接著確定安裝的套件種類(三個全選),其他都直接按enter即可,然後就會開始將基本系統安裝好。
5.chroot到安裝完基本系統的/mnt
官方網站提供兩種方式,一個是一個個執行下列指令。
$ mount --bind /dev /mnt/dev $ mount --bind /tmp /mnt/tmp $ mount -t proc proc /mnt/proc $ mount -t sysfs none /mnt/sys $ chroot /mnt /bin/bash第二個方法是執行setup-chroot一樣能在完成上述並chroot進去/mnt裡面。
6.系統設定相關
設定root的密米
#passwd
編輯/etc/fstab,將"/"以及"swap"的掛載分割區設定改成我們的/dev/sda1、/dev/sda2
7.編譯核心
進入/usr/src/linux-x目錄裡面並編譯核心。
清除之前編譯過得檔案,第一次的話不用
#make mrproper
選擇核心要編譯的項目
#make menuconfig
選擇核心編譯的這部份很容易出錯。
要注意的是,進入DEVICE DRIVER->GENERIC DRIVER OPTION後,選擇Maintain a devtmpfs filesystem to mount at /dev選項後,接著出現的Automount devtmpfs at /dev,after the kernel mounted the ro一樣要選擇。如果沒選編好的核心會無法開機,因為抓不到devtmpfs。
跳出menu並儲存.config後,以make all編譯核心,接著make modules_install編譯並安裝模組,之後就依照官方網站的指引將編譯好得核心及相關檔案cp進/boot
$ cp arch/x86/boot/bzImage /boot/vmlinuz
$ cp System.map /boot
之後就是編輯lilo.conf,接著執行lilo -v -v -v 並確認有無錯誤訊息。沒有的話就可以用crux開機了。
如此一個基本可用的crux就完成了,收工。
PS.在virtualbox裡面,如果網路介面消失,請檢查網路設定為橋接介面卡,介面卡類型為IntelPRO/1000 MT Desktop(82540EM)