[Gentoo] Sun SPARC Sunfire V240 에 젠투 설치기 Computer Tip



이번에 어찌 저찌 하여 Sunfire V240 시스템에 리눅스를 설치해 보기로 했다.
우분투 서버를 설치하고 싶었으나 딱 입맛에 맛게 나와있는 패키징은 없는 듯 하여,
역시 최대의 호환성 및 안정된 설치를 지원하는 젠투를 설치해 보기로 했다.

일단 sun을 화면에서 띄우고, OK 프람프트로 들어가기 위하여 Stop-A를 누르라고 되어있으나,
일반 PC 키보드로는 그게 먹지 않았다.
찾아보니, serial로 연결하여 Ctrl+Break를 누르면 된다는 것이었다.

1) gentoo 2008 minimal for SPARC iso 이미지를 젠투의 미러에서 다운받아 굽는다.

2) PC를 V240의 뒷편 Serial에 연결한다.
    serial 을 지원하는 putty로 9600 속도로 연결해 놓는다.

3) 전원을 켠다.

4) 연결 창에 rom booting 이미지가 나타나면 Ctrl+Break를 눌러 OK 프람프트로 떨어지게 한다.

5) gentoo 설치 CD를 넣는다.

6) OK 프람프트에서 boot cdrom 명령을 넣는다.

7) boot: 프람프트가 뜨면 gentoo 를 입력하여 설치 부팅을 시작한다.

8) livecd ~ # 프람프트가 뜨면 암호를 변경한다.
# passwd

9) ifconfig 명령으로 eth0을 살린다. (net-setup eth0 는 먹통이 되어 안됨!)
   뒷편 0~3 네개의 UTP 연결 중, 0에 랜케이블을 연결한다.

# ifconfig eth0 192.168.1.111 netmask 255.255.255.0 up
# route add default gw 192.168.1.1

10) vi /etc/resolv.conf 파일에 dns 서버 등록
nameserver 168.126.63.1

11) fdisk
# fdisk /dev/sda
에 들어가서, p 명령으로 확인하고, /dev/sda3 Wholedisk 를 제외하고 기존에 만들어진 파티션 삭제.
/dev/sda1을 1G, /dev/sda2에 2G 파티션을 생성한다.
/dev/sda4, /dev/sda5, /dev/sda6 에다 나머지를 3등분 하여 생성한다.
===============================================생성결과
   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       726   1048707   83  Linux native
/dev/sda2  u        726      2178   2097414   82  Linux swap
/dev/sda3             0     24620  35563590    5  Whole disk
/dev/sda4          2178      9178  10111500   83  Linux native
/dev/sda5          9178     16178  10111500   83  Linux native
/dev/sda6         16178     24620  12194469   83  Linux native

12) 파일 시스템을 만든다.
# mke2fs /dev/sda1
# mke2fs -j /dev/sda4
# mke2fs -j /dev/sda5
# mke2fs -j /dev/sda6
# mkswap /dev/sda2
# swapon /dev/sda2
13) 마운팅
# mount /dev/sda1 /mnt/gentoo
# mkdir /mnt/gentoo/usr && mount /dev/sda4 /mnt/gentoo/usr
# mkdir /mnt/gentoo/var && mount /dev/sda5 /mnt/gentoo/var
# mkdir /mnt/gentoo/home && mount /dev/sda6 /mnt/gentoo/home

14) 현재 시각에서 -9시를 뺀 UTC로 시간 설정한다.

15) stage3와 portage 다운받는다.

# cd /mnt/gentoo &&
links http://www.gentoo.org/main/en/mirrors.xml
다음(daum)의 http 또는 ftp로 연결하여
다음의 두 파일을 다운로드한다.
/gentoo/releases/sparc/current-stage3/stage3-sparc64-*.tar.bz2
/gentoo/releases/snapshots/current/portage-latest.tar.bz2

# tar xvjpf stage3-*.tar.bz2
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

16) make.conf 파일 수정

# vi /mnt/gentoo/etc/make.conf

USE="server ithreads"
GENTOO_MIRRORS="http://ftp.daum.net/gentoo/ ftp://ftp.daum.net/gentoo/ "

위와 같은 USE 플래그와 미러 정보 추가

17) DNS 정보 복사

#
cp -L /etc/resolv.conf /mnt/gentoo/etc/

18) /proc /dev 파일시스템 마운트


# mount -t proc none /mnt/gentoo/proc && mount -o bind /dev /mnt/gentoo/dev

19) CHROOT

# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"

20) Portage Tree 업데이트

# emerge --sync

21) vim emerge

# emerge -av vim

22) glibc 로케일 설정

# vi /etc/locale.gen

en_US ISO-8859-1
en_US.UTF-8 UTF-8
ko_KR.EUC-KR EUC-KR
ko_KR.UTF-8 UTF-8
ko_KR EUC-KR

위에 다섯줄을 넣음

# locale-gen

23) 타임존 설정

# cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime

24) 커널 소스 가져오기

# emerge -av gentoo-sources

(만약 특정 버전을 원한다면 아래와 같이 지정함)
# emerge -av "=sys-kernel/gentoo-sources-2.6.25-r9"

25) 커널 만들기

# cd /usr/src/linux
# make menuconfig

25.1) file system
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)

(Select one or more of the following options as needed by your system)
<*> Ext3 journalling file system support
<*> Second extended fs support

25.2) Activating SBUS/UPA
(아래는 찾기 힘든 경우가 있음)
Console drivers --->
Frame-buffer support --->
[*] SBUS and UPA framebuffers
[*] Creator/Creator3D support (Only for UPA slot adapter used in many Ultras)
[*] CGsix (GX,TurboGX) support (Only for SBUS slot adapter used in many SPARCStations)

25.3) Activating OBP Support
Misc Linux/SPARC drivers --->
[*] /dev/openprom device support

25.4) Activating SCSI-specific support
SCSI support --->
SCSI low-level drivers --->
<*> Sparc ESP Scsi Driver (Only for SPARC ESP on-board SCSI adapter)
<*> PTI Qlogic, ISP Driver (Only for SBUS SCSI controllers from PTI or QLogic)
<*> SYM53C8XX Version 2 SCSI support (Only for Ultra 60 on-board SCSI adapter)


25.5) for Networking
Network device support --->
Ethernet (10 or 100Mbit) --->
<*> Sun LANCE support (Only for SPARCStation, older Ultra systems, and as Sbus option)
<*> Sun Happy Meal 10/100baseT support (Only for Ultra; also supports "qfe" quad-ethernet on PCI and Sbus)
<*> DECchip Tulip (dc21x4x) PCI support (For some Netras, like N1)
Ethernet (1000Mbit) --->
<*> Broadcom Tigon3 support (Modern Netra, Sun Fire machines)

25.6) compiling
# CROSS_COMPILE=sparc64-unknown-linux-gnu- make image modules
# make modules_install
(핸드북 대로 하면 오류가 발생하는데, 다음에서 해결책을 찾음)

25.7) installing
# cp arch/sparc64/boot/image /boot/Kernel-<커널버전>


26) 필요 모듈 추가

livecd에서 탐지한 모듈 목록
==================================
ipv6 281016 12
openpromfs 10696 1
tg3 132484 0
libphy 27904 1 tg3
e1000 127492 0
fuse 54328 0
nfs 263384 0
nfs_acl 7744 1 nfs
lockd 73609 1 nfs
sunrpc 208968 3 nfs,nfs_acl,lockd
raid10 25344 0
raid456 126240 0
async_memcpy 6080 1 raid456
async_xor 6784 1 raid456
xor 7248 2 raid456,async_xor
async_tx 7424 3 raid456,async_memcpy,async_xor
raid1 25408 0
raid0 10880 0
md_mod 92704 4 raid10,raid456,raid1,raid0
dm_bbr 14632 0
dm_snapshot 22784 0
dm_mirror 18560 0
dm_region_hash 16896 1 dm_mirror
dm_log 15361 2 dm_mirror,dm_region_hash
dm_mod 58832 4 dm_bbr,dm_snapshot,dm_mirror,dm_log
scsi_wait_scan 5568 0
usbhid 31272 0
ohci_hcd 26336 0
uhci_hcd 27992 0
usb_storage 88144 0
libusual 30240 1 usb_storage
ehci_hcd 38732 0
usbcore 145812 7 usbhid,ohci_hcd,uhci_hcd,usb_storage,libusual,ehci_hcd
qla2xxx 205928 0
aic7xxx 129656 0
ahci 36936 0
sata_sx4 16196 0
sata_via 15492 0
sata_sil24 19844 0
sata_sil 13768 0
sata_promise 18308 0

# vi /etc/modules.autoload.d/kernel-2.6
ehci-hcd
uhci-hcd
usb-storage
scsi_wait_scan
raid0
raid1
async_tx
async_xor
async_memcpy
raid456
raid10
openpromfs

위와 같은 모듈 추가

27) fstab 설정
# vi /etc/fstab
/dev/sda1 / ext3 noatime 0 1
/dev/sda2 none swap sw 0 0
/dev/sda4 /usr ext3 noatime 0 2
/dev/sda5 /var ext3 noatime 0 2
/dev/sda6 /home ext3 noatime 0 2
# You must add the rules for openprom
openprom /proc/openprom openpromfs defaults 0 0
/dev/cdrom /mnt/cdrom auto noauto,user 0 0


28) hostname 설정

# vi /etc/conf.d/hostname
호스트 이름 설정

29) 네트워크 설정

# vi /etc/conf.d/net
config_eth0=( "192.168.1.146 netmask 255.255.255.0 brd 192.168.1.255" )
routes_eth0=( "default via 192.168.1.254" )

# rc-update add net.eth0 default

30) hosts 파일 수정

31) root 암호 설정

# passwd

32) rc.conf 설정

# vi /etc/rc.conf
EDITOR="/usr/bin/vim"

33) clock 설정

# vi /etc/conf.d/clock
CLOCK="local"

34) syslog

# emerge syslog-ng
# rc-update add syslog-ng default

35) cron

# emerge vixie-cron
# rc-update add vixie-cron default

36) sshd service

# rc-update add sshd default



37) Boot Loader

# emerge silo

# vi /etc/silo.conf
partition = 1 # Boot partition (= root partition)
root = /dev/sda1 # Root partition
timeout = 50 # Wait 5 seconds before booting the default section

image = /boot/kernel-2.6.30-gentoo-r5
label = linux-2.6.30-gentoo-r5

image = /boot/kernel-2.6.25-gentoo-r9
label = linux-2.6.25-gentoo-r9

# cp /etc/silo.conf /boot
# /sbin/silo -C /boot/silo.conf


38) Reboot

# exit
# cd && umount /mnt/gentoo/usr /mnt/gentoo/home /mnt/gentoo/var && umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
# reboot

39) TODO
reboot을 하기전에 모니터와 USB 키보드 등을 제거하고, 다시 시작했는데 시스템이 기동되지 않아,
power (cdrom 위) 단추를 몇초 눌러 파워를 확실히 다운한 다음, USB 키보드를 연결하고 파워를 넣었더니
화면은 silo 이후 한 페이지 정도 화면에 글자를 보여주다 모니터는 까맣게 되었음. 아마도 커널 build시
frame buffer 관련된 부분을 제대로 설정하지 않아 그런거 같다는 생각이 들었음.
아뭏든 그러고 나서 ssh로 정상 접속되고 이상없이 설치되었음을 확인 했음.
(USB 키보드는 BIOS 설정에서 지정하는 것이 있을 것 같은데 워낙 PC랑 틀리다 보니...)

덧글

댓글 입력 영역

구글애드텍스트