|
发表于 2006-11-3 23:11:59
|
显示全部楼层
这是我在 Macintosh 9600/300 上安装 Gentoo 的过程,本来想整理好后发上来,现在先让你看看,也许能够帮上你,因为是草稿,所以文中可能有部分内容没有完成或者有不正确的地方。
在 Power Macintosh 9600/300 上安装 Gentoo 2006.1
单位里有一台冷落在角落很久了的 Apple Power Macintosh 9600/300,前几天浏览了Power.org,看到了PowerPC的介绍,于是想到把这台机器利用起来,想当初它可是花了30万大洋从老美那儿买回来的。
1、为什么是Gentoo?
其实没什么特别的原因,主要是因为我之前一直使用的BSD,而Gentoo的Portage与BSD里面的Ports/Pkgsrc非常相似,所以我就选择了Gentoo for PPC。
2、开始动手
为了在Power Macintosh 9600/300上安装Gentoo,我前后一共花了将近3天时间,其中有很大一步份时间是在了解Macintosh,因为之前从来没有接触过,这儿就直接写出我遭遇了无数次失败之后得到的正确的安装步骤。
首先要知道一件事,Power Macintosh 9600属于Old World Macintosh,因而是不能直接使用Gentoo Install CD来启动机器的,因而不能像PC那样从光盘启动,这就需要借助Mac OS和Mac OS运行的BootX来引导Gentoo安装光盘。
了解上面的知识后,现在就开始动手:
规划硬盘
因为需要通过Mac OS来引导Gentoo,所以首先要安装Mac OS。我这台机器配置的是4G的IBM SCSI硬盘,机器上原来的Mac OS8占用了所有的硬盘空间,所以第一件事就是要重新规划分区,为Gentoo预留空间。
(Mac OS8 安装过程没写完)
BootX
因为Gentoo install-ppc-universal-2006.1中的内核和initrd在Macintosh 9600/300上引导始终不成功,所以我下载并刻录了install-ppc-universal-2005.1.iso,然后使用2005.1.iso来安装Gentoo 2006.1。这里假设你已经准备好Gentoo PPC Universal安装CD,在Mac OS安装好后,下面是安装BootX。在Gentoo的安装CD中的OldWorld目录下,你可以找到BootX_1.2.2.sit,将其复制到Mac OS中的桌面上,因为Mac OS8中自带的Stuffit版本比较底,不能解开BootX_1.2.2.sit,所以我们需要先安装一下高版本的Stuffit解压工具。在Mac OS中使用刚才安装的Internet Exploer,输入网址:http://www.jagshouse.com/stuffit.html,点击页面中的"Get Stuffit Expander 5.1.2",下载Stuffit Expander 5.1.2,下载完成后,在桌面上双击安装Stuffit,安装路径可以安装到Applications目录下。
Stuffit安装后之后,双击桌面上的BootX_1.2.2.sit,就可以进行解压,会在桌面上生成目录BootX_1.2.2,分别将里面的"BootX Extension"复制到Mac OS硬盘中的"System Folder/Extensions"目录中,将"BootX App"复制到"System Folder/Control Panels"目录中,将"Linux Kernels"复制到"System Folder"中,到此BootX就已经安装好了。
前面说到Gentoo PPC 2006.1中的内核在Macintosh 9600/300上不能引导,实际上,我们所刻录的2005.1中的内核引导也是有问题的,不过好在Gentoo PPC的开发者提供了一个在Oldworld Macintosh上使用的Kernel,在另一台机器上将http://dev.gentoo.org/~josejx/OW ... 个FTP中,在Mac OS中使用Internet Explorer(现在知道当初安装它的原因了吧),将它从你的FTP中下载回来,放到Mac OS中的"System Folder/Linux Kernels"目录下,接下来将Gentoo PPC 2005.1光盘中的"boot/ppc32.igz"复制到Mac OS中的"Systems Folder"目录中,运行Mac OS中的"System Folder/Control Panels/BootX App",点击"Options",在对弹出的对话框中选中"Use Specialed RAM Disk",再浏览选择刚才得到到"Systems Folder"目录下的ppc32.igz,确定,回到BootX主界面,Kernel选择OW-Kernel.bin,在More Kernel arguments中输入:cdroot root=/dev/ram0 loop=livecd.squashfs looptype=squashfs doscsi noide noapic nodhcp nousb udev,点击"Save to prefs",再点击Linux开始引导Gentoo安装程序。
创建分区和文件系统
如果你的操作都正确,现在你应该可以看到Gentoo的安装Shell了,接下来是分区,PPC上使用mac-fdisk进行分区,如下:
livecd# mac-fdisk /dev/sda
分别输入命令c,此时会问起始分区,输入6p,输入大小512M,输入名字swap(必须为swap),这样就建立好swap交换分区,接下来输入命令c,起始分区7p,大小7p,输入名字root,这样就将剩下的分区全部分配给"/"分区了。
下面是我机器上的分区情况,其中sda1-sda5全部为Mac OS8的分区,sda0是Apple Partition Map:
/dev/sda
# type name length base ( size ) system
/dev/sda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sda2 Apple_Driver43 Macintosh 54 @ 64 ( 27.0k) Driver 4.3
/dev/sda3 Apple_Driver43 Macintosh 74 @ 118 ( 37.0k) Driver 4.3
/dev/sda4 Apple_Patches Patch Partition 512 @ 192 (256.0k) Unknown
/dev/sda5 Apple_HFS untitled 614400 @ 704 (300.0M) HFS
/dev/sda6 Apple_UNIX_SVR2 swap 1048576 @ 615104 (512.0M) Linux swap
/dev/sda7 Apple_UNIX_SVR2 root 6803520 @ 1663680 ( 3.2G) Linux native
Block size=512, Number of Blocks=8467199
DeviceType=0x0, DeviceId=0x0
Drivers-
1: @ 64 for 20, type=0x1
2: @ 118 for 32, type=0xffff
Command (? for help):
现在开始创建交换分区和"/"分区的文件系统:
livecd# mkswap /dev/sda6
livecd# swapon /dev/sda6
livecd# mke2fs -j /dev/sda7
安装Stage3
分区准备好之后就是准备下载stage3了,首先配置好网卡IP地址、网关、DNS等,具体的我就不详说了,下面为我的操作过程(IP地址:192.168.0.96,网关:192.168.0.1,DNS:192.168.0.254):
livecd# ifconfig eth0 192.168.0.96 netmask 255.255.255.0
livecd# route add default gw 192.168.0.1
livecd# echo "nameserver 192.168.0.254" > /etc/resolv.conf
接下来是获到Gentoo Linux PPC 2006.1的stage3和最新的portage,现在大家应该明白,我们之前刻录的光盘gentoo 2005.1只是起到了进入安装Shell的作用,具体的gentoo 2006.1安装全部通过网络来完成。
加载"/"分区:
livecd# mount /dev/sda7 /mnt/gentoo
livecd# cd /mnt/gentoo
livecd# wget http://gentoo.osuosl.org/release ... -ppc-2006.1.tar.bz2
livecd# tar -jxvpf stage3-ppc-2006.1.tar.bz2
进入Chroot环境
livecd# chroot /mnt/gentoo /bin/bash
livecd# mount -t proc proc /proc
livecd# env-update
livecd# source /etc/profile
修改编译参数
因为Power Macintosh 9600/300使用CPU的是IBM PowerPC 604e,所以修改/etc/make.conf为:
CFLAGS="-O2 -mcpu=604e -mtune=604e -fno-strict-aliasing -pipe"
CHOST="powerpc-unknown-linux-gnu"
CXXFLAGS="${CFLAGS}"
安装Portage
livecd# cd /usr
livecd# wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2
livecd# tar -jxvpf portage-latest.tar.bz2
编译内核
livecd# emerge gentoo-sources
livecd# cd /usr/src/linux
livecd# make menuconfig
这里是我机器上使用的一个配置文件,点击下载。
将内核复制到/boot:
livecd# cp vmlinux /boot/kernel
上面的步骤只是将编译好的内核备份出来,复制的这个内核并不作为引导,因为系统是用BootX引导,所以我们需要将/boot/kernel放到Mac OS8的"System Folder/Linux Kernels"目录中,由于当前的内核不支持HFS文件系统,所以还是只有通过FTP方式来将/boot/kernel上传到FTP,再通过过FTP下载到Mac OS中:
livecd# emerge ftp
livecd# ftp 192.168.0.1
ftp> put /boot/kernel gentoo.bin
需要注意的是,上传的文件最好以.bin为扩展名,这样才方便在Mac OS中下载。
安装相关的软件
livecd# emerge postfix ; emerge syslog-ng ; emerge vixie-cron ; emerge xfsprogs ; emerge reiserfsprogs
修改系统配置
livecd# nano /etc/fstab
我机器上的配置为:
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda7 / reiserfs noatime 0 1
/dev/sda6 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
#/dev/fd0 /mnt/floppy auto noauto 0 0
/dev/sda5 /mnt/apple hfs noauto 0 0
# NOTE: The next line is critical for boot!
proc /proc proc defaults 0 0
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
设置机器名:
livecd# echo 'HOSTNAME="ppc"' > /etc/conf.d/hostname
设置TCP/IP配置:
livecd# echo 'config_eth0=( "192.168.0.96/24" )' > /etc/conf.d/net
livecd# echo 'routes_eth0=( "default via 192.168.0.1" )' >> /etc/conf.d/net
livecd# rc-update add net.eth0 default
修改/etc/init.d/clock
在PPC上,/etc/init.d/clock会造成init出错,所以需要在重新启动系统之前修改它,编译/etc/init.d/clock,找到:
elif [[ $(uname -m) == s390* ]] ; then
TBLURB="s390"
fakeit=1
在其后添加以下代码:
elif [[ $(uname -m) == ppc ]] ; then
TBLURB="ppc"
fakeit=1
开启相应的服务
livecd# rc-update add postfix default
livecd# rc-update add syslog-ng default
livecd# rc-update add vixie-cron
livecd# rc-update add sshd
现在可以重新启动计算机了:
livecd# reboot
重新启动后可以看到BootX的启动界面,选择MacOS进入Mac OS8,将刚才上传的gentoo.bin下载到"System Folder/Linux Kernels"目录中,重新启动计算机,当出现BootX时,在Kernel中选择gentoo.bin,去掉Options中的Use Specialed RAM Disk,设置root为/dev/sda7,Kernel参数为:root=/dev/sda7 console=tty0 doscsi noide nousb noacpi nodhcp udev,按Tab键将焦点移动到Linux按钮上,点击"Save to prefs",这样下次BootX就会默认启动Linux,点击Linux按钮,现在你就可以进入Gentoo on Power Macintosh 9600/300的世界了,如何你对安装过程中的步骤不明白,或者需要进入更多的操作请参见 Gentoo PPC 2006.1 Handbook。 |
|