2011/06/26

DreamPlugにGentooをインストール

Gentoo Linux Documentation -- Gentoo Linux ARM Handbook
Gentoo Linux Documentation -- Gentoo on the Marvell SheevaPlug

基本的にはPCと同じのはず


SDにインストールして内蔵のmicroSDと差し替える予定
DreamPlugにSDを挿入して起動、ログイン

/dev/sdb で認識されるのでfdiskでパーティションをわける
この時 /dev/sdb1 を /boot に100MBくらい、それ以外を /dev/sdb2 で / にした
/dev/sdb1 はFAT16、 /dev/sdb2 はLinuxパーティション

デフォルトのシステムには mkfs.msdos が無いので /dev/sdb1 は後でフォーマット
/dev/sdb2 は ext4 でフォーマットして /mnt/gentoo にマウント

# mkfs.ext4 /dev/sdb2
# mkdir /mnt/gentoo
# mount /dev/sdb2 /mnt/gentoo -o noatime
# cd /mnt/gentoo


stage3を展開する時に bzip2 がないと言われたので先にインストール

# apt-get update
# apt-get install bzip2


stage3とportageを展開

# wget http://ftp.jaist.ac.jp/pub/Linux/Gentoo/releases/arm/autobuilds/current-stage3-armv5tel/stage3-armv5tel-20110422.tar.bz2
# tar xvjpf stage3-armv5tel-20110422.tar.bz2
# wget http://ftp.jaist.ac.jp/pub/Linux/Gentoo/releases/snapshots/current/portage-latest.tar.bz2
# tar xvjf portage-latest.tar.bz2 -C usr/
# rm stage3-armv5tel-20110422.tar.bz2 portage-latest.tar.bz2


/etc/make.conf に以下を追加

MAKEOPTS="-j2"
GENTOO_MIRRORS="ftp://ftp.jaist.ac.jp/pub/Linux/Gentoo/ ftp://ftp.iij.ad.jp/pub/linux/gentoo/"
SYNC="rsync://rsync.jp.gentoo.org/gentoo-portage/"


chrootする

# cp -L /etc/resolv.conf etc/
# mount -t proc none proc/
# mount --rbind /dev dev/
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile


emerge --sync で更新

サーバ用途なのでプロファイルを変更

# eselect profile list
Available profile symlink targets:
[1] default/linux/arm/10.0 *
[2] default/linux/arm/10.0/desktop
[3] default/linux/arm/10.0/desktop/gnome
[4] default/linux/arm/10.0/desktop/kde
[5] default/linux/arm/10.0/developer
[6] default/linux/arm/10.0/server
# eselect profile set 6


ロケールの変更

# nano -w /etc/locale.gen
適当にen_USとja_JPのコメントを外す
# locale-gen


タイムゾーンは東京

# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime


カーネルをビルドする前に /dev/sdb1 の用意をする

# emerge dosfstools
# mkfs.msdos /dev/sdb1
# mount /dev/sdb1 /boot


カーネルのビルド
MarvellのGitからもらってきたものを使う

# emerge u-boot-tools ← make uImageに必要
# cd /usr/src/
# git clone git://git.marvell.com/orion.git
# cd orion
# make mrproper
# make kirkwood_defconfig
# make menuconfig
System Type → Marvell Kirkwood Implimentatuins 内をすべて外して
Marvell GuruPlug Reference Board のみ組み込みにしておく
あとExt4でフォーマットしたので
File systems → The Extended 4 (ext4) filesystem を組み込みにしておく

# make uImage && make modules && make modules_install
# cp arch/arm/boot/uImage /boot/


/etc/fstab を書く

# nano -w /etc/fstab
/dev/sda1 /boot vfat defaults 0 1
/dev/sda2 / ext4 noatime 0 1


ネットワークの設定
とりあえず2つともDHCPにしておく

# nano -w /etc/conf.d/hostname
# emerge dhcpcd
# nano -w /etc/conf.d/net
config_eth0=( "dhcp" )
config_eth1=( "dhcp" )
# cd /etc/init.d
# ln -s net.lo net.eth0
# ln -s net.lo net.eth1
# rc-update add net.eth0 default
# rc-update add net.eth1 default


/etc/inittab の設定

# nano -w /etc/inittab

# SERIAL CONSOLES
s0:12345:respawn:/sbin/agetty 115200 ttyS0 vt100


その他設定

# passwd
# rc-update add sshd default
# nano -w /etc/conf.d/clock
# nano -w /etc/rc.conf


chrootを抜ける

# umount /boot
# exit
# cd /mnt
# umount gentoo/proc
# umount -l gentoo/dev
# umount gentoo

0 件のコメント:

コメントを投稿