iBook でデュアルブート
iBook G4 で Mac OS X と Gentoo Linux のデュアルブート
環境を構築してみたメモ。面倒なので全部 PRE タグで
囲んでます。
主な参考ページ:
*Installing Debian 3.0 onto an Apple iBook
http://people.debian.org/~branden/ibook.html
*Gentoo Linux/PPC Handbook
http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml
*謎日記
http://2-d.org/diary/2004/03/25/#topic-2
//まず Mac のインストール
install CD 1 から起動
Installer -> ディスクユーティリティを開く...
55.9 GB TOSHIBA MK6025GAS を選択
右のメニューの「パーティション」をクリック
ボリュームの方式: というところを
「現在の設定」から「2 パーティション」に変える
前の領域を
名前: Gentoo Linux
フォーマット: Mac OS 拡張
サイズ: 25.89 GB
にし、後ろの領域を
名前: Mac OS X
フォーマット: Mac OS 拡張 (ジャーナリング)
サイズ: 30.00 GB
に設定。
あとは普通に後ろの領域に Mac OS X をインストール。
その後普通に前の領域に Gentoo Linux をインストール。
できれば苦労はしないんですが。
//というわけで Gentoo のインストール
Gentoo Live CD で起動
livecd root # loadkeys jp106
livecd root # modprobe sungem
livecd root # dhcpcd eth0
//メイン作業のパーティション切り。これだけは詳細に書いておく。
livecd root # mac-fdisk /dev/hda
/dev/hda
Command (? for help): p
/dev/hda
# type name length base ( size ) system
dump: name /dev/hda len 8
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Free 262144 @ 64 (128.0M) Free space
/dev/hda3 Apple_HFS Apple_HFS_Untitled_4 53771392 @ 262208 ( 25.6G) HFS
/dev/hda4 Apple_Free 262144 @ 54033600 (128.0M) Free space
/dev/hda5 Apple_HFS Apple_HFS_Untitled_5 62914480 @ 54295744 ( 30.0G) HFS
/dev/hda6 Apple_Free 16 @ 11720224 ( 8.0k) Free space
Block size=512, Number of Blocks=117210240
DeviceType=0x0, DeviceID=0x0
Command (? for help): d
Partition number: 3
Command (? for help): p
/dev/hda
# type name length base ( size ) system
dump: name /dev/hda len 8
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Free Extra 53771392 @ 64 ( 25.9G) Free space
/dev/hda3 Apple_HFS Apple_HFS_Untitled_5 62914480 @ 54295744 ( 30.0G) HFS
/dev/hda4 Apple_Free 16 @ 11720224 ( 8.0k) Free space
Block size=512, Number of Blocks=117210240
DeviceType=0x0, DeviceID=0x0
Command: (? for help): b
First block: 2p
Command: (? for help): p
/dev/hda
# type name length base ( size ) system
dump: name /dev/hda len 8
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Bootstrap bootstrap 1600 @ 64 (800.0k) NewWorld bootblock
/dev/hda3 Apple_Free Extra 54294080 @ 1664 ( 25.9G) Free space
/dev/hda4 Apple_HFS Apple_HFS_Untitled_5 62914480 @ 54295744 ( 30.0G) HFS
/dev/hda5 Apple_Free 16 @ 11720224 ( 8.0k) Free space
Block size=512, Number of Blocks=117210240
DeviceType=0x0, DeviceID=0x0
Command: (? for help): c
First block: 3p
Length (in blocks, kB (k), MB (M) or GB (G)): 942M
Name of partition: swap
Command (? for help): p
/dev/hda
# type name length base ( size ) system
dump: name /dev/hda len 8
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Bootstrap bootstrap 1600 @ 64 (800.0k) NewWorld bootblock
/dev/hda3 Apple_UNIX_SVR2 swap 1929216 @ 1664 (942.0M) Linux swap
/dev/hda4 Apple_Free Extra 52364864 @ 1930880 ( 25.0G) Free space
/dev/hda5 Apple_HFS Apple_HFS_Untitled_5 62914480 @ 54295744 ( 30.0G) HFS
/dev/hda6 Apple_Free 16 @ 11720224 ( 8.0k) Free space
Block size=512, Number of Blocks=117210240
DeviceType=0x0, DeviceID=0x0
Command (? for help): c
First block: 4p
Length (in blocks, kB (k), MB (M) or GB (G)): 4p
Name of partition: root
Command (? for help): p
/dev/hda
# type name length base ( size ) system
dump: name /dev/hda len 8
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Bootstrap bootstrap 1600 @ 64 (800.0k) NewWorld bootblock
/dev/hda3 Apple_UNIX_SVR2 swap 1929216 @ 1664 (942.0M) Linux swap
/dev/hda4 Apple_UNIX_SVR2 root 52364864 @ 1930880 ( 25.0G) Linux native
/dev/hda5 Apple_HFS Apple_HFS_Untitled_5 62914480 @ 54295744 ( 30.0G) HFS
/dev/hda6 Apple_Free 16 @ 11720224 ( 8.0k) Free space
Block size=512, Number of Blocks=117210240
DeviceType=0x0, DeviceID=0x0
Command (? for help): w
IMPORTANT: You are about to write a changed partition map to disk.
For any partition you changed the start or size of, writing out
the map causes all data on that partition to be LOST FOREVER.
Make sure you have a backup of any data on such partitions you
want to keep before answering 'yes' to the question below!
Write partition map? [n/y]: y
The partition map has been saved successfully!
Syncing disks.
Partition map written to disk. If any partitions on this disk
were still in use by the system (see messages above), you will need
to reboot in order to utilize the new partition map.
Command (? for help): q
//mac-fdisk 終了。
livecd root # mkswap /dev/hda3
Setting up swapspace version 1, size = 987754 kB
livecd root # swapon /dev/hda3
//以下で root パーティションを ReiserFS にすると後の yaboot で
//うまくいかなかった? ので結局 EXT3 にした。
livecd root # mke2fs -j /dev/hda4
livecd root # mkdir /mnt/gentoo
livecd root # mount /dev/hda4 /mnt/gentoo
livecd root # mkdir /mnt/gentoo/proc
livecd root # mount -t proc none /mnt/gentoo/proc
livecd root # cd /mnt/gentoo
livecd root # tar -xvjpf /mnt/cdrom/stages/stage3-g4-20040225.tar.bz2
livecd root # tar -xvjf /mnt/cdrom/snapshots/portage-20040225.tar.bz2 -C /mnt/gentoo/usr/
livecd root # mkdir /mnt/gentoo/usr/portage/distfiles
livecd root # cp /mnt/cdrom/distfiles/*z* /mnt/gentoo/usr/portage/distfiles
//どうせ ReiserFS にできないなら LiveCD のカーネル使ったっていいじゃん
livecd root # cp /boot/kernel-2.6.3-benh2-G4 /mnt/gentoo/boot
livecd root # cp /boot/initrd-2.6.3-benh2-G4 /mnt/gentoo/boot
livecd root # cp /etc/kernels/kernel-config-ppc-2.6.3-benh2-G /mnt/gentoo/boot
livecd root # mkdir /mnt/gentoo/lib/modules
livecd root # cp -r /lib/modules/2.6.3-benh2-G4 /mnt/gentoo/lib/modules
livecd root # cp /etc/resolv.conf /mnt/gentoo/etc/
livecd root # chroot /mnt/gentoo /bin/bash
livecd root # env-update
livecd root # source /etc/profile
livecd root # ln -sf /usr/share/zoneinfo/Japan /etc/localtime
livecd root # nano -w /etc/make.conf
//make.conf を適当に設定
CFLAGS="-mcpu=7450 -O2 -pipe -fsigned-char -maltivec -mabi=altivec -mpowerpc-gfxopt"
CXXFLAGS="${CFLAGS}"
CHOST="powerpc-unknown-linux-gnu"
USE="aalib acpi alsa altivec bindist canna cdr cjk directfb dvd emacs fbcon -gnome imagemagick java -kde lcms mozilla perl plotutils pnp ruby tcltk tetex tiff usb"
PORT_LOGDIR=/var/log/portage
SYNC="rsync://rsync.jp.gentoo.org/gentoo-portage"
GENTOO_MIRRORS="http://mirror.gentoo.gr.jp"
FEATURES="ccache digest sandbox buildpkg userpriv usersandbox"
CCACHE_SIZE="2G"
livecd root # mkdir /var/tmp/portage /var/log/portage /var/tmp/ccache
livecd root # chown -R portage:portage /usr/portage /var/tmp/portage /var/log/portage /var/tmp/ccache
livecd root # emerge ppc-development-sources
livecd root # emerge syslog-ng
livecd root # rc-update add syslog-ng default
livecd root # emerge vixie-cron
livecd root # rc-update add vixie-cron default
livecd root # nano -w /etc/fstab
//fstab を適切に設定
/dev/hda4 / ext3 noatime 0 1
/dev/hda3 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
livecd root # echo suzushiro >> /etc/hostname
livecd root # nano -w /etc/conf.d/net
iface_eth0="dhcp" にする
livecd root # nano -w /etc/hosts
127.0.0.1 localhost suzushiro
livecd root # nano -w /etc/rc.conf
KEYMAP="jp106" と CLOCK="JST" を設定
livecd root # passwd
livecd root # useradd okayama -m -G users,wheel,audio,portage -s /bin/bash
livecd root # passwd okayama
livecd root # exit
livecd root # yabootconfig --chroot /mnt/gentoo
yaboot is the Linux Loader for PowerPC. yabootconfig sets up your system to boot directly
from your hard disk, without the need for a boot CD, floppy or a network boot.
Install yaboot bootstrap on /dev/hda2 to boot Linux from /dev/hda4? [Yes]
Creating a simple /mnt/gentoo/etc/yaboot.conf...
yabootconfig: Cannot find a kernel, please locate one
Enter path to a kernel image: /mnt/gentoo/boot/kernel-2.6.3-benh2-G4
hpmount: /dev/hda5 This is not a HFS+ volume (Unknown error 4294967295)
Running mkofboot to make the disk bootable...
Done
Configuration complete. If there are no errors above you should
have a working configuration. see man yaboot.conf if you run into
any errors.
// ちと怪しいので編集し直し
livecd root # nano -w /mnt/gentoo/etc/yaboot.conf
boot=/dev/hda2
device=hd:
partition=4
root=/dev/hda4
timeout=100
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
enableofboot
defaultos=Linux
macosx=/dev/hda5
append="video=ofonly"
image=/boot/kernel-2.6.3-benh2-G4
label=Linux
read-only
//append="video=ofonly" で、起動時に画面が真っ暗になるのを防ぐ
//もっかいブートローダ設定
livecd root # chroot /mnt/gentoo /bin/bash
livecd root # ybin -v -b /dev/hda2
livecd root # exit
livecd root # umount /mnt/gentoo/proc /mnt/gentoo
livecd root # reboot
//必ず再起動に失敗するので電源ボタン長押しで電源を切る
これで電源を入れて、起動選択画面で l (エル)を押して
yaboot 起動画面で Tab を押すと
Welcome to yaboot version 1.3.11
Enter "help" to get some basic usage information
boot:
Linux
boot:
とか出るので Linux と打つと起動する。はず...