GRUB + Debian GNU/Linux 3.0r2 on Compact Flash ============================================== MicroPC Geode/Eden, Benibana 内蔵の Compact Flash に Debian GNU/Linuxをインストールします。 作業の流れ ========== - USB CD-ROMドライブから起動 - Network経由でCFに最小限インストール - CFの書き換え回数制限への対応 - 独自 Debian GNU/Linuxに育てる - パッケージの整備 - Kernelの入れ替え インストール手順 ================ USB CD-ROMよりBoot boot: bf24 <リターン> Chose The Language -> ja キーボードの設定: qwerty/us : U.S. English (QWERTY) ハードディスクのパーティションを切る ディスクドライブの選択: /dev/hdc Name Flags Part Type FS Type Size ------------------------------------------- hdc1 Boot Primary Linux 256 -> write -> quit スワップパーティションなしで済ませる Linuxパーティションの初期化 -> Ext3 /dev/hdc1上での不良ブロックのスキャンを行いますか? : いいえ ルートファイルシステムとしてマウントしますか? : はい カーネルとドライバモジュールのインストール インストールメディアの選択 : network ネットワークの設定 ホスト名 : debian ネットワークインターフェイスの選択 : eth0 DHCPを利用する場合(お勧め) ネットワークの自動設定 : はい インストールサーバの選択: デフォルトのままOK DHCPを利用しない場合 ネットワークの自動設定 : いいえ IPアドレス : 192.168.2.4 ネットマスク : 255.255.255.0 IPゲートウェイアドレス : 192.168.2.1 ドメイン名: なし DNSサーバ: 210.130.0.1 インストールサーバの選択: デフォルトのままOK デバイスドライバモジュールの設定 必要に応じて追加してください。 キーボード、マウス、USB CD-ROM、グラフィックボード、ネットワークなどの利用には デフォルトのままでOK 基本システムのインストール インストールメディアの選択: network インストールサーバの選択: デフォルトのままOK システムを起動可能にする /dev/hdc : LILOをMBRにインストールする バーチャルIDEデバイスマッピング : はい "Debianのインストールができました" 「ブートフロッピーの作成」はせず、「システムのブート」を選ぶ CD-ROMを抜きシステムのリブートを待つ --- "Congraturations, you have successfully installed Debian!" 以下、/usr/sbin/base-configによる設定項目 Is the hardware clock set to GMT?: No Time Zone Configration: Asia -> Tokyo Shall I enable md5 passwords?: Yes Shall I enable shadow passwords?: Yes Enter a password for root: Shall I create a normal user accout now?: No Shall I remove the pcmcia packages?: Yes Do you want to use a PPP connection to install the system?: No Choose the method apt should use to access the Debian archive: http Use non-US software?: Yes Use non-free software: No Select a country: Japan choose the Debian mirror to use: ftp.jp.debian.org Enter http proxy information, or leave blank for none: <リターン> --- Apt Configrationが始まります --- Add another apt source?: No Use security updates from security.debian.org?: Yes Run tasksel?: No Run deselect?: No Do you want to continue? [Y/n]: Y --- ダウンロードが始まります --- Do you want to erase any previously downloaded .deb files? [Y/n]: Y I can do some automatic configration of your mail system.... You must choose one of the options below: (5) No configration Have fun! ... Thank you for choosing Debian! ----- インストール完了 ----- apt-lineの調整 ============== Debianを使っていく上で重要なことのうちの一つに、apt-lineをどこに向けるか ということがあります。woody向けに準備されているパッケージはすでに古いものが 多いので、woody向けにbackportされたパッケージを使っていくことにします。 # vi /etc/apt/sources.list ----- # Default deb http://ftp.jp.debian.org/debian/ stable main deb-src http://ftp.jp.debian.org/debian/ stable main deb http://non-us.debian.org/debian-non-US stable/non-US main deb-src http://non-us.debian.org/debian-non-US stable/non-US main deb http://security.debian.org/ stable/updates main # backports for woody deb http://www.backports.org/debian stable all deb-src http://www.backports.org/debian stable all # XFree86 4.3.0 for woody deb http://people.debian.org/~nobse/xfree86 woody main ----- # apt-get update (データベースを更新) # apt-get -u upgrade (システム全体をアップグレード(必要に応じて)) ブートローダ入れ替え ==================== - grubのパッケージを入手します # apt-get install grub - /boot/grubの下に設定ファイルを準備します # /sbin/grub-install /dev/hdc # /sbin/update-grub 本来ならばgrub-installでGRUBのインストールができるのですが、 うまくいかないようです。エラーっぽい行が数行続きますが我慢してみ てください。いくら待ってもプロンプトが来ない場合 CTRL+Cにて終了 してしまってかまいません。 ここではGRUBインストール目的ではなく、各種ファイルを/boot/grub の下にコピーする手段として利用しています。 - MBRにgrubをインストール # /sbin/grub (エラーっぽい行が数行続くが我慢) grub> root (hd0,0) grub> setup (hd0) grub> quit # vi /boot/grub/menu.lst ----- ... title Debian GNU/Linux, kernel 2.4.18-bf2.4 root (hd0,0) kernel /boot/vmlinuz-2.4.18-bf2.4 root=/dev/hdc1 no noswap ...                         ^^^^^^ ----- grub内でのhd0,hd1は、起動時にBIOSの設定に従って見つかるデバイスの順番です。 上記の設定はhd0、つまり最初に見つかったデバイスに入れています。 CFだけのホスト、HDとCFが両方入ったホストで設定が異なりますので注意してください。 # apt-get --purge remove lilo (liloを削除します) CF書き換え回数制限対応 ====================== # mkdir /dev/shm # vi /etc/fstab --- # /etc/fstab: static file system information. # # /dev/hdc1 / ext3 errors=remount-ro,noatime 0 1 proc /proc proc defaults 0 0 tmpfs /dev/shm tmpfs size=32m 0 0 --- # mkdir /data # vi /etc/init.d/mountall.sh ----- ... # # Mount local file systems in /etc/fstab. For some reason, people # might want to mount "proc" several times, and mount -v complains # about this. So we mount "proc" filesystems without -v. # [ "$VERBOSE" != no ] && echo "Mounting local filesystems..." mount -avt nonfs,nosmbfs,noncpfs,noproc mount -at proc mkdir /dev/shm/tmp mkdir /dev/shm/lock mkdir /dev/shm/log mkdir /dev/shm/run mkdir /dev/shm/data mount --bind /dev/shm/tmp /tmp mount --bind /dev/shm/tmp /var/tmp mount --bind /dev/shm/lock /var/lock mount --bind /dev/shm/log /var/log mount --bind /dev/shm/run /var/run mount --bind /dev/shm/data /data chmod -R 1777 /tmp chmod -R 1777 /var/tmp # # We might have mounted something over /dev, see if /dev/initctl is there. # if [ ! -p /dev/initctl ] then rm -f /dev/initctl mknod -m 600 /dev/initctl p fi kill -USR1 1 ... ----- パッケージの整備 ================ - CFが128MB程度ならこの程度 # apt-get install telnetd # apt-get install ftp # apt-get install ftpd # apt-get install ssh # apt-get install tcsh # apt-get install ntpdate - CFが256MB程度あればさらにこんなのも追加可能 # apt-get install xserver-xfree86 # apt-get install xbase-clients # apt-get install xfonts-base # apt-get install xterm # apt-get install icewm # apt-get install mozilla-browser # apt-get install xdm カーネルの入れ替え ================== 上記作業でインストールされるカーネルは kernel-2.4.18-bf2.4です。 MicroPC Geode/Eden,Benibana共通で利用できて便利なのですが、 例えばGeode用に高速化したりと用途に応じて自分で準備するのがよいと思 います。Kernelのコンパイルの仕方とGRUBの設定ファイルの書き換え方を 知っていれば、難しくはありません。入れ替えの試行錯誤がしやすいように ブートローダをGRUBにしています。 ちなみに、Geode向けにチューニングの話はここにあります。 http://www.takemaru.com/microserver/technote/geode_tune.txt