SPARC中如何安装Linux系统2
|
mke2fs /dev/sda1 //将第一分区(boot分区)格式化为ext2格式,这也是linux默认的格式 创建交换分区 mkswap /dev/sda2 现在就可以把交换分区挂上使用了 swapon /dev/sda2 烦琐的设置基本完成了,接下来请打起精神来,迎接正式开始安装工作 首先是mount上我们新系统中的/分区和/boot分区 mount –t ext3 /dev/sda4 /mnt/gentoo 在它上面创建一个boot目录,以方便挂上第一分区(/boot分区) 接着把新系统的boot分区挂上 挂上后,就开始安装stage包了 从2005.0版本的gentoo开始,stage包从原来的3种减为了2种,只有stage1和stage3了,关于2者的区别,stage1是一个最小化工具包,安装它后,可以最大程度上的自定义系统设置,而且在编译的时候可以最大程度地针对自己的机器进行优化,缺点则是耗时相当漫长,一般大致需要1周左右的时间才能设置妥当,而stage3则是预先编译好了一些软件包可供使用,当然为了通用性,在编译参数等方面就相对比较保守,优化程度不够。在此,我选择的是stage3,因为硬盘实在太小,而且没必要在ultra1这样的老机器上折腾太多。值得一提的是,在安装前,记得使用date命令校准时间。 cd /mnt/gentoo #记得这个目录么?就是未来新系统的根目录 恩,copy完了stage3的内容后,接着就是要cp portage包了,portage是gentoo的程序包管理机制,类似redhat的rpm,freebsd的ports方式,它的便利,等一下您就能体会到了。 这里也挺久的,所以前面推荐各位远程安装,就可以找点事来先忙着,在完成此步骤后,天缘用df命令查看了一下,/mnt/gentoo空间用去 49% 然后是把源文件全部cp过去,因为gentoo的即时编译机制,所以在编译其他软件软件包的时候,可能会用到这些代码的 mkdir /mnt/gentoo/usr/portage/distfiles 这一步也相当漫长的,当完成时,df的结果是/mnt/gentoo用去了65% 上面的几步是不是让您快睡着了? Ok,久违的动手时间到了 现在先把新系统中/etc/make.conf的参数改了,简单来说,这个文件设置了gcc编译的时候的参数,以及选用网络安装的时候使用的sync地址和软件包下载地址。 nano –w /mnt/gentoo/etc/make.conf 在最后添加以下几行 MAKEOPTS="j2" 注意,熟悉gcc参数的朋友可能会打算修改CFLAGS,CHOST ,CXXFLAGS的值,但官方文档只建议使用stage1的用户设置,我们使用的是stage3,所以还是保持吧。 下面,准备进入新操作系统咯 mount –t proc none /mnt/gentoo/proc cp –L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf chroot /mnt/gentoo /bin/bash 以上三句是设置 /mnt/gentoo目录为根目录,并更新系统设置 接着设置时区,由于天缘使用本地时间,因此 首先是下载内核代码 emerge sparc-sources 之后就会自动下载并且安装代码到/usr/src下,我写此文的时候,内核版本是2.4.29,并做好一个/usr/src/linux的连接 接着就是编译内核了 恩,大体上与在x86上编译没什么区别,只把需要特别留意需要开启的地方写出来吧 Code maturity level options ---> File systems ---> Console drivers ---> Misc Linux/SPARC drivers ---> SCSI support ---> //scsi卡支持,上面的几种各自针对特定的型号,为了config文件的通用性,我是都选上了的 Network device support ---> //各种型号的网卡支持的,也是为了通用性,我都选了,其实ultra1上根本没1000m卡的,天缘这里的sun fire上才有吧。 注意,最好只把重要的编译进核心,而把其他的相关部分编译成模块就行了,确保内核文件别超过2.5M为好,天缘在文章最后会给出我使用的.config文件,各位如果想偷懒保存下来后,直接使用就行了。 恩,保存后退出,接着就是内核编译了。。。 好,假设您跟我一样够好运气,顺利编译完成了(此时/空间用了大致78%左右,呵呵) cp arch/sparc64/boot/image /boot/kernel-2.4.9 到这里,内核编译就完成了,接着就是最后的配置系统设置了 首先是设置/etc/fstab 文件,linux系统后,是根据这个文件来加载分区的 我的设置如下(注释已去掉): ultra1 root # cat /etc/fstab /dev/sda2 none swap sw 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 #此处我没有添加usb的支持,因为我内核里禁止了usb的相关模块 接下来设置主机名 接着设置本域的名字 如果用nis的,还要设置nis domain 把domainname添加到开机启动里 rc-update 一般常用的有 add ,del, -s 几个选项,可以对/etc/init.d/下存在的脚本选择是否加入到启动阶段(boot或者default里,boot部分比default阶段早) 然后是设置网络 注意提醒一点,以stage3方式安装的时候,已经安装了ifconfig命令,而如果是stage1,则需要下载emerge net-tools ,否则启动的时候会因为没有ifconfig命令而无法使用网络哦 该文件的说明非常清晰,天缘使用的是固定ip方式,所以配置如下 接着同样用rc-update命令让开机时候就执行启动网卡的脚本 然后通过修改/etc/hosts改主机名 修改安全设置,允许root直接登陆 最后的收尾工作就是把系统日志记录工具和crond服务,档案索引服务工具装上了 安装cron服务 安装档案索引服务 最后一步,就是安装引导的开机程序,silo了,它的全名是Sparc Imporved boot Loader,和lilo或者grub的作用很象 然后设置选项,我是按照grub的习惯,将配置文件放到了/boot区 # Example of how can be silo.conf set up 接着让配置生效 最后退出chroot环境,准备重新启动 exit 激动人心的时刻终于来到了,如果您一路无误,那么就可以成功地启动服务器了,如果有误,那么请根据提示,然后用光盘启动后,进入chroot环境再进行修改。 后记:根据对linux对sparc系统支持地查看,发现对fire等高端系列,对t3存储,以及对lvc的支持都已经有不错的效果了,各位网管朋友如果某些时候需要针对linux下的一些服务,可以尝试着在中端服务器上调试看看。 最后附上我编译内核使用的.config文件,只在ultra1下测试可用,其他系列未经过测试。 源代码网供稿. |
