歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> SPARC中如何安裝Linux系統(2)

SPARC中如何安裝Linux系統(2)

日期:2017/3/3 16:44:48   编辑:關於Linux

相關文章:SPARC中如何安裝Linux系統(1)

接下來,是格式化分區

mke2fs /dev/sda1 //將第一分區(boot分區)格式化為ext2格式,這也是linux默認的格式

mke2fs -j /dev/sda4 //將第四分區(root分區)格式化為ext3格式,記住,由於sparc的特殊性,我們的sda3是whole disk,因此不要習慣性地想著只有3個分區,因此把sda3給格式化掉了。

創建交換分區

mkswap /dev/sda2

現在就可以把交換分區掛上使用了

swapon /dev/sda2

煩瑣的設置基本完成了,接下來請打起精神來,迎接正式開始安裝工作

首先是mount上我們新系統中的/分區和/boot分區

mount –t ext3 /dev/sda4 /mnt/gentoo

在它上面創建一個boot目錄,以方便掛上第一分區(/boot分區)

mkdir /mnt/gentoo/boot

接著把新系統的boot分區掛上

mount /dev/sda1 /mnt/gentoo

掛上後,就開始安裝stage包了

從2005.0版本的gentoo開始,stage包從原來的3種減為了2種,只有stage1和stage3了,關於2者的區別,stage1是一個最小化工具包,安裝它後,可以最大程度上的自定義系統設置,而且在編譯的時候可以最大程度地針對自己的機器進行優化,缺點則是耗時相當漫長,一般大致需要1周左右的時間才能設置妥當,而stage3則是預先編譯好了一些軟件包可供使用,當然為了通用性,在編譯參數等方面就相對比較保守,優化程度不夠。在此,我選擇的是stage3,因為硬盤實在太小,而且沒必要在ultra1這樣的老機器上折騰太多。值得一提的是,在安裝前,記得使用date命令校准時間。

cd /mnt/gentoo #記得這個目錄麼?就是未來新系統的根目錄

tar –vxjpf /mnt/cdrom/stages/stage3-sparc64-2005.0.tar.bz2

這裡會把相當多的程序/設置文件cp到相應位置,時間會消耗地比較久,因此遠程安裝的你可以找點事情先忙乎著。

恩,copy完了stage3的內容後,接著就是要cp portage包了,portage是gentoo的程序包管理機制,類似redhat的rpm,freebsd的ports方式,它的便利,等一下您就能體會到了。

tar –vxjf /mnt/cdrom/snapshots/portage-20050303.tar.bz2 –C /mnt/gentoo/usr

這裡也挺久的,所以前面推薦各位遠程安裝,就可以找點事來先忙著,在完成此步驟後,天緣用df命令查看了一下,/mnt/gentoo空間用去 49%

然後是把源文件全部cp過去,因為gentoo的即時編譯機制,所以在編譯其他軟件軟件包的時候,可能會用到這些代碼的

mkdir /mnt/gentoo/usr/portage/distfiles

cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/

這一步也相當漫長的,當完成時,df的結果是/mnt/gentoo用去了65%

上面的幾步是不是讓您快睡著了? Ok,久違的動手時間到了

現在先把新系統中/etc/make.conf的參數改了,簡單來說,這個文件設置了gcc編譯的時候的參數,以及選用網絡安裝的時候使用的sync地址和軟件包下載地址。

nano –w /mnt/gentoo/etc/make.conf

在最後添加以下幾行

MAKEOPTS="j2"

GENTOO_MIRRORS="http://gentoo.gg3.net/ http://mirror.gentoo.gr.jp/"

SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage"

注意,熟悉gcc參數的朋友可能會打算修改CFLAGS,CHOST ,CXXFLAGS的值,但官方文檔只建議使用stage1的用戶設置,我們使用的是stage3,所以還是保持吧。

下面,准備進入新操作系統咯

mount –t proc none /mnt/gentoo/proc

proc文件系統是內核信息的鏡象,可以通過它即時查看到很多內核程序的設置和使用情形,並且還可以即時修改,怎麼樣?就這一點就夠愛死unix系統了,比windows的注冊表每次都要重新啟動/注銷生效方便多了吧。。。

cp –L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

將我們剛才設置好的dns解析文件cp過去

chroot /mnt/gentoo /bin/bash
    env-update
    source /etc/profile

以上三句是設置 /mnt/gentoo目錄為根目錄,並更新系統設置

接著設置時區,由於天緣使用本地時間,因此

ln –sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime

把本地時間設置為重慶時間,順便把rc.conf裡的時間設置也修改掉

nano –w /etc/rc.conf

修改

CLOCK="UTC"

CLOCK="local"

接下來,就是配置內核了,關於配置內核的文章到處有,這裡我簡單提一下關鍵和不同的地方吧

首先是下載內核代碼

emerge sparc-sources

之後就會自動下載並且安裝代碼到/usr/src下,我寫此文的時候,內核版本是2.4.29,並做好一個/usr/src/linux的連接

接著就是編譯內核了

  cd /usr/src/linux
    make menuconfig

恩,大體上與在x86上編譯沒什麼區別,只把需要特別留意需要開啟的地方寫出來吧

Code maturity level options --->
    [*] Prompt for development and/or incomplete code/drivers
    //開啟擴展代碼的支持,否則有的選項根本看不到呢
File systems --->
     [*] Virtual memory file system support (former shm fs)
        <*> Ext3 journalling file system support
        <*> Second extended fs support
     [*] /proc file system support
     [*] /dev file system support (EXPERIMENTAL)
     [ ]  Automatically mount at boot

//注意,依照官方的文檔,是需要選自動mount的,但是這裡我在選擇了/dev後,重新啟動的時候報告了錯誤,即使我emerge devfsd後依然如此,因此我只有把 [ ]  Automatically mount at boot去掉,這樣的話開機會提示一個警告信息,但是使用上無礙,還請其他朋友指點此困惑。

Console drivers --->
    Frame-buffer support --->
    [*] SBUS and UPA framebuffers      
    [*] Creator/Creator3D support
    [*] CGsix (GX,TurboGX) support
    //上面是對SBUS/UPA的支持,記得選上
Misc Linux/SPARC drivers --->
     [*] /dev/openprom device support
     上面是對OBP的支持
SCSI support --->
      SCSI low-level drivers --->
        <*> Sparc ESP Scsi Driver
        <*> PTI Qlogic, ISP Driver
        <*> SYM53C8XX Version 2 SCSI support
//scsi卡支持,上面的幾種各自針對特定的型號,為了config文件的通用性,我是都選上了的
Network device support --->
       Ethernet (10 or 100MBit) --->
       <*> Sun LANCE support          
       <*> Sun Happy Meal 10/100baseT support
       <*> DECchip Tulip (dc21x4x) PCI support
       Ethernet (1000Mbit) --->
       <*> Broadcom Tigon3 support

//各種型號的網卡支持的,也是為了通用性,我都選了,其實ultra1上根本沒1000m卡的,天緣這裡的sun fire上才有吧。

注意,最好只把重要的編譯進核心,而把其他的相關部分編譯成模塊就行了,確保內核文件別超過2.5M為好,天緣在文章最後會給出我使用的.config文件,各位如果想偷懶保存下來後,直接使用就行了。

恩,保存後退出,接著就是內核編譯了。。。

make dep && make clean vmlinux image modules modules_install

之後。。。可以忙乎自己的事情去了,天緣是晚上編譯,第2天早晨去看的結果,具體完成時間也辦法告訴大家,估計在30分鐘到2個小時吧。

好,假設您跟我一樣夠好運氣,順利編譯完成了(此時/空間用了大致78%左右,呵呵)

接著就是把核心文件cp到/boot分區去

cp arch/sparc64/boot/image /boot/kernel-2.4.9
    cp System.map /boot

配置文件也一起cp一份丟過去吧

cp .config /boot/config-2.4.29 /boot

到這裡,內核編譯就完成了,接著就是最後的配置系統設置了

首先是設置/etc/fstab 文件,linux系統後,是根據這個文件來加載分區的

我的設置如下(注釋已去掉):

ultra1 root # cat /etc/fstab
    /dev/sda1      /boot  ext2  defaults,noatime  1 2
    #加載/boot分區,使用ext2格式,並且不記錄對文件的訪問時間(減少寫入次數)
    /dev/sda4      /    ext3  noatime     0 1
    #加載/分區,ext3格式,不記錄對文件的訪問時間
/dev/sda2      none  swap  sw    0 0
     #交換分區
     /dev/cdroms/cdrom0  /mnt/cdrom iso9660  noauto,user  0 0
     #cdrom加載,非自動加載
     #/dev/fd0    /mnt/floppy  auto   noauto      0 0
     #軟驅,由於我編譯內核的時候去掉了對軟驅的支持,所以就把這行屏蔽了
none       /proc    proc   defaults     0 0
      #proc分區加載,它的作用前面提到了
none       /dev/shm  tmpfs   defaults     0 0
       #用內存+硬盤虛擬出一塊區域來存放文件,tmpfs格式
       none       /proc/openprom openpromfs  defaults  0 0
       #這行是sparc系統必須添加的
#此處我沒有添加usb的支持,因為我內核裡禁止了usb的相關模塊

以上行中,都是defaults,而不是default,天緣自己錯過幾次了,提醒各位留心哦。

接下來設置主機名

echo ultra1 > /etc/hostname

接著設置本域的名字

echo xx.edu.cn > /etc/dnsdomainname

如果用nis的,還要設置nis domain

echo nis.xxx > /etc/nisdomainname

把domainname添加到開機啟動裡

rc-update add domainname default

rc-update 一般常用的有 add ,del, -s 幾個選項,可以對/etc/init.d/下存在的腳本選擇是否加入到啟動階段(boot或者default裡,boot部分比default階段早)

然後是設置網絡

注意提醒一點,以stage3方式安裝的時候,已經安裝了ifconfig命令,而如果是stage1,則需要下載emerge net-tools ,否則啟動的時候會因為沒有ifconfig命令而無法使用網絡哦

nano –w /etc/conf.d/net

該文件的說明非常清晰,天緣使用的是固定ip方式,所以配置如下

iface_eth0="我的ip地址 broadcast 廣播地址 netmask 掩碼"

gateway="eth0/網關ip"

接著同樣用rc-update命令讓開機時候就執行啟動網卡的腳本

rc-update add net.eth0 default

然後通過修改/etc/hosts改主機名

nano –w /etc/hosts

127.0.0.1 localhost ultra1

修改安全設置,允許root直接登陸

nano –w /etc/securetty

echo ‘tts/0’ >> /etc/securetty

最後的收尾工作就是把系統日志記錄工具和crond服務,檔案索引服務工具裝上了

安裝日志工具

emerge syslog-ng

rc-update add syslog-ng default

安裝cron服務

emerge vixie-cron

rc-update add vixie-cron default

安裝檔案索引服務

emerge slocate

最後一步,就是安裝引導的開機程序,silo了,它的全名是Sparc Imporved boot Loader,和lilo或者grub的作用很象

emerge silo

然後設置選項,我是按照grub的習慣,將配置文件放到了/boot區

nano –w /boot/silo.conf

# Example of how can be silo.conf set up
    partition = 1 #這裡是/boot分區的分區號
    root = /dev/sda4 #這裡是/分區的位置
    timeout = 10 #等待時間,注意以0.1秒為單位的呢
    #password = __#密碼,這裡沒要
    #restricted
    image = /boot/kernel-2.4.29 #引導文件的位置
    label = linux #標題名

接著讓配置生效

/sbin/silo –C /boot/silo.conf

最後退出chroot環境,准備重新啟動

exit
    cd /
    sync
    umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
    reboot

激動人心的時刻終於來到了,如果您一路無誤,那麼就可以成功地啟動服務器了,如果有誤,那麼請根據提示,然後用光盤啟動後,進入chroot環境再進行修改。

後記:根據對linux對sparc系統支持地查看,發現對fire等高端系列,對t3存儲,以及對lvc的支持都已經有不錯的效果了,各位網管朋友如果某些時候需要針對linux下的一些服務,可以嘗試著在中端服務器上調試看看。

最後附上我編譯內核使用的.config文件,只在ultra1下測試可用,其他系列未經過測試。

Copyright © Linux教程網 All Rights Reserved