首页 > 学院 > 网络通信 > 正文

Instgentoobasedonalphaplatform

2019-11-04 20:10:25
字体:
来源:转载
供稿:网友

  成功安装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位的系统.....


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表