成功安装gentoo based on alpha platform,发文一篇。 真是辛苦,尽管gentoo早就出了alpha platform的distribution,但居然它主页上没for alpha的installation guide,两个月前试着装了一次(把以前装的RH7.2删了),结果因为boot loader 搞不定,白装,连起动都成问题。最近比较空,在仔细研究了aboot的文档后花了三天时间终于把基本系统装上,现在正在装X。 不说废话,先说说机器配置,alpha 21164 500mhz,256m mem,EB164兼容主板,2×SCSI 18.2G硬盘,SRM 5.1 boot rom。还算我运气好,SRM的版本够高,不然还要 重新刷bios。(其实光这步就可以卡死很多敢于吃螃蟹的) 先下载gentoo 1.4 RC1 test4的iso(我一直在等它出rc4 for alpha的iso,可sparc,ppc,hppa的版本都更新了,就是for alpha 不更新,气死我了)刻成光盘。打开机器,进入SRM 状态,show dev后发现光驱的设备号为 dka 500。it's easy, boot dka500 -fl 0,启动光盘。 进入Linux,起先的安装步骤和x86平台无甚两样: modprobe eepro100(认出网卡) ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up /sbin/route add -net default gw 192.168.0.1 netmask 0.0.0.0 metric 1 eth0 更改etc/resolv.conf,设置dns serevr。 date xxxxxxx 设置时间 fdisk /dev/sda 硬盘分区,这里需要仔细说说,由于alpha平台的特殊性,它只认BSD风格的分区形式(就是那种不认partition,只认slice的风格)。同时由于它的boot loader---aboot的特性,所以分区时必须要注意这点,第一个分区的起始扇区必须在2048 block之后(也有建议512的),也就是1m左右的空间以便放aboot引导程序(其实aboot也就80k大)。两个月前我第一次装时没注意,结果把整个distribution build之后才发觉分区错了,那个晕阿! 剩下来的分区就容易了,按照BSD风格,四个分区分别是a,b,c,d 其实就是 /dev/sda1 /boot 128m, /dev/sda2 swap 768m, /dev/sda3 /var , /dev/sda4 /. mke2fs -j /dev/sda1 mke2fs -j /dev/sda4(这两个分区必须用ext2或ext3,否则aboot不认) mkswap /dev/sda2 mkfs.xfs -l size=32m /dev/sda3 我试了试xfs的格式在/var分区下。具体参数见gentoo网站上的简介。 swapon /dev/sda2 打开swap mkdir /mnt/gentoo mount /dev/sda4 /mnt/gentoo mkdir /mnt/gentoo/boot mount /dev/sda1 /mnt/gentoo/boot mkdir /mnt/gentoo/var mount /dev/sda3 /mnt/gentoo/var cd /mnt/gentoo lynx http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_rc1/alpha/ 拿下stage1的安装包 tar -xvjpf /mnt/cdrom/gentoo/stage1-*.tar.bz2 解开安装包 mount -t proc proc /mnt/gentoo/proc cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf chroot /mnt/gentoo /bin/bash 这步比较重要,进入编译环境,其实就像罩了把伞一样。:-) env-update (这里有可能会失败,不要紧,emerge sync一把就好了,其实是安装包太老需要更新) Regenerating /etc/ld.so.cache... source /etc/profile emerge sync nano -w /etc/make.conf 这里要改点东西,最主要的就是把里面缺省的cpu 型号改成你要的,我是21164,所以改成EV56,你要是搞不清,没关系,uname -p一把. cd /usr/portage scripts/bootstrap.sh 艰苦的旅程终于开始了,后来我看了一下时间,用了我大约4个多小时,这里它编译了binutils, gcc, gettext, glibc, 然后重编译binutils, gcc,gettext。 现在进入stage2, emerge -p system emerge system 这更夸张,一共73个组件居然编了我6个半小时。 进入stage3 ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime 设置时区 这后面的path/to/timezonefile是zoneinfo下你所在时区的路径,找到Asia,再找到里你最近的城市,做把连接。 开始编译kernel emerge sys-kernel/alpha-sources 注意,这和x86平台不一样,我一开始拼命想试 emerge sys-kernel/gentoo-sources 可系统总告诉我这些ebuilds被masked了,想破脑袋也想不出为什么,后来进到/usr/portage/sys-kernel下一看才明白,原来如彼!笨死了:-( 我用的是alpha机器啊!emerge ebuilds的严谨性由此可见一斑。 cd /usr/src/linux make menUConfig 这里有些要注意,要把BSD风格的分区支持编进去,要把VFS,devfs的分区也编进去,否则会引起kenel panic,我就是...唉,不说了,怎么倒霉事尽跑我头上....编一次kernel要花去我整整一个小时啊!开始想念在那台p4 2.4G 的服务器上4分钟编译一次kernel的好光景来了....还有就是注意网卡驱动等等等等 make dep make boot 这和x86平台不一样,依葫芦画瓢吧! make modules make modules_install cp /usr/src/linux/arch/alpha/boot/mvlinux.gz /boot emerge app-admin/sysklogd rc-update add sysklogd default emerge sys-apps/vcron rc-update add vcron default 这个就不说了。 emerge sys-apps/xfsprogs 专给xfs用的 更改 /etc/fstab passwd 改 root passWord echo mymachine.mydomain.com > /etc/hostname 这个也容易。 更改 /etc/hosts 更改 /etc/modules.autoload nano -w /etc/conf.d/net rc-update add net.eth0 default nano -w /etc/rc.conf 更改时区(一大堆routing jobs) 最后就是aboot的安装了,emerge aboot 装完后运行swriteboot /dev/sda /boot/bootlx 把aboot copy至起始扇区, 然后 abootconf /dev/sda 4 更改aboot 初始配置,因为/ 分区在/dev/sda4 初始状态是 /dev/sda 2,这要是在aboot 0.6版以前是要更改编译参数,重新编译 aboot的(天哪,还要编译),现在0.9版好多了,擦汗ing..... 到/etc下照着aboot.conf.example的样改出一个aboot.conf来。呵呵 etc-update exit 退出chroot状态 cd / umount /mnt/gentoo/boot umount /mnt/gentoo/proc umount /mnt/gentoo/var umount /mnt/gentoo reboot 重起!哈!gentoo for alpha终于装好了,全世界第一篇中文版gentoo based on alpha platform的installation guide也诞生了。快鼓掌! 不过装完后一想,这套linux是32bit的,不爽。反正我还有一个硬盘,改日装套 netbsd for alpha罢,这可是纯64位的系统.....
[1] [2] 下一页
(出处:http://www.sheup.com)
上一页 [1] [2]