2008年7月16日 星期三

從Ubuntu安裝Gentoo 筆記1

基本上這篇不算什麼新發明,因為hack手冊就有講解如何從Knoppix安裝Gentoo。所以這只是從knoppix換成Ubuntu。

首先可以做的第零步是關掉系統的swap。因為像我會要這樣做,是因為我想用較快的雙核心電腦安裝好gentoo後,移動到較慢的電腦上運作,當然 節省中間的編譯時間是主要目的,但卻不是唯一手段。因為也可以在Ubuntu安裝DISTCC來作遠端編譯,不過相信我,有時候匯流排的速度也是瓶頸。

首先我們確認安裝的硬碟的空間與位址大小,基本上既然都在ubuntu的GNOME圖形介面下,就乾脆使用gparted來切割。我個人是因為打算 先在硬碟上安裝到一定程度後,使用dd複製到CF卡上替代硬碟,所以切割時是以CF卡大小為依歸。切完畢後,swapon掛載新系統的swap。然後

mkdir /mnt/gentoo

將新gentoo系統先放在這個掛載點,後面後續的作業因為gentoo安裝的環境配的編輯器是nanom,基本上我比較習慣vi了,所以之前我會 開兩個終端機來作業,一個負責作chroot的環境,一個負責作vi編輯設定檔,不過現在可以在chroot後立刻emerge vim,這樣就有順手的vi可以用了。

安裝是從Stage3開始的,所以直接下載Stage3的tarball

wget ftp://ftp.twaren.net/Linux/Gentoo/releases/x86/2007.0/stages/stage3-x86-2007.0.tar.bz2
tar xjvf stage3-x86-2007.0.tar.bz2

然後大部分系統雛型就出現了,接著抓最新portage

wget ftp://ftp.twaren.net/Linux/Gentoo/snapshots/portage-2008`date %M%D`.tar.bz2
tar xjvf portage-2008xxxx.tar.bz2 -C /mnt/gentoo/usr

掛載gentoo系統的proc與dev

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev

原則上本來還有設定時間,不過這樣是在已經運行的ubuntu上,故不用多做date的動作。不過可以將反解設定先搬過去

cat /etc/resolv.conf > /mnt/gentoo/etc/resolv.conf

然後我們就可以準備住進去新環境,順便粉刷新監獄的牆壁

chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile
PS1=”(chroot)$PS1″
ln -s /usr/share/zoneinfo/ROC /etc/localtime
emerge –sync
emerge vim

接下來設定新系統的make.conf

vietc/make.conf

cat << MAKECONF
# Please consult /etc/make.conf.example for a more detailed example.
# http://gentoo-wiki.com/Safe_Cflags#Transmeta_Crusoe
HOST=”i686-pc-linux-gnu”
CFLAGS=”-march=i686 -Os -mmmx -pipe -fomit-frame-pointer”
# -O2 -mtune=i686 -pipe”
CXXFLAGS=”${CFLAGS}”
GENTOO_MIRRORS=”ftp://ftp.twaren.net/Linux/Gentoo/”
ACCEPT_KEYWORDS=”~x86″
#SYNC=”rsync://rsync.gentoo.org/gentoo-portage”
#MAKEOPTS=”-j2″
MAKEOPTS=”-j5″

MAKECONF

比較詭異的是明明目的機器是Crusoe的CPU,但是因為現在是用ubuntu的焢土豆,所以使用-j5的參數來壓榨雙核心的編譯能力。然而移動到新環境後沒有兩顆心怎麼辦?基本上這就要靠distccd了。在ubuntu安裝distcc方法很簡單

aptitude install distcc
vi /etc/default/distcc.conf
/etc/ini.d/distccd start

沒有留言: