热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Instgentoobasedonalphaplatform

文章标题:Instgentoobasedonalphaplatform。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  成功安装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位的系统.....
  
  
推荐阅读
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
author-avatar
归向大海_651
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有