2009년 10월 22일 목요일

stage3설치

stage3(gentoo)설치.


처음엔 그래픽화면으로 설치해서 써보려고하다가, 내PC의 랜카드가 On_Boarn(보드에 포함된)용

랜카드인 SIS900용이 인식불능으로, 인터넷을 못하는 바람에 하는수없이 커널컴파일을 하다가,

커널컴파일후에 부팅이 안되는 문제가 너무 많이 나와서, stage3로 설치하면 랜카드를 인식할수

있을까하다가,,, 웹에서 stage3설치기를 보려고했더니, 따라하면 곧 부팅불능되게 써놨더군요.

차라리 쓰지나 말든지, 아니면 제대로 쓰든지... 그래도 이해는 됩니다.

젠투설명서가 모두 영어로 돼있고, 어휘를 불필요하게 어려운 어휘를 써놔서,

쉬운어휘를 선택해도 됐을텐데,, 저도 사전 꽤나 봐야했습니다. 그런 그렇고,,


젠투를 아예 안쓰는 하드에 따로 설치하려고, 하드디스크를 찾아서, 젠투라이브를 걸어서,

부팅해보니, 전에 설치해봤던 리눅스버젼들이 남아있어서, 그런데, grub방식으로

부팅하는것들은 좀 질겨서, 잘 안씻어지므로, 먼저, HirenBootingCD로 부팅해서,

MBR만지는 툴로 잘 씻어줍니다. MBR툴중에는 MBR-WORK가 쓰기에 아주 편합니다.

MBR-WORK를 선택해 들어간후에, 모든 MBR을 지워버리는번호를 선택하고 Yes하고,

그다음은 표준MBR을 설치하는번호를 선택하고 Yes한후에 E를 누르고 재부팅합니다.

그리고 이젠 HirenBootingCD를 빼고, 젠투라이브시디를 넣어서 부팅합니다.

MBR을 께끗히 씻은 하드라서, MBR은 모두 0(zero)로 채워져 있습니다.

하드디스크를 fdisk로 파티션작업을 해야하는데, Gentu_LiveCD, Gentu_LiveDVD, 또,

다른라이브시디 KnoppixLiveCD 마다 /dev/를 잡는법을 조금씩 달라서,

/dev/sda로도 되고, /dev/hdc로 잡히더군요, 그런데, GeutuLiveCD에서는

/dev/sda로 잡혔습니다. 그래서, 여기서는 /dev/sda로 써나가겠습니다.

여기서 이 얘기를 하는 이유는, 나증에 /etc/fstab, /etc/mtab, /proc/mounts,

또 /boot/grub/grub.conf 안에 들어갈내용에 한번 정한 fdisk의 /dev/sda가 똑같이

나와야하기 때문이다. grub이 잠깐씩 미쳐서, 자동으로 아무렇게나 쓰는 때도 있어서입니다.

00 파티션작업하기

먼저 터미널을 띄운후에, 디폴트로 일반사용자로 돼있으므로, sudo su엔터로 root사용자로 바꾼다.
참고로 사용한 하드의 용량은 20GB 입니다.

livecdgentoo# fdisk -l

livecdgentoo# fdisk /dev/sda

밑에는 fdisk모드에서 실행한 명령어이다.

n > p > 1 > enter침 > +200M 엔터침,
n > p > 2 > enter침 > +2048M 엔터침,
n > p > 3 > enter침 > enter침,
t > 2 > 82 엔터침, 그리고는, w 엔터침
이렇게해서 파티션작업은 완료됐습니다.

00 포멧 하기.

mke2fs /dev/sda1 엔터침,
mkswap /dev/sda2 엔터침,
mke2fs -j /dev/sda3 엔터침,

00 마운트하기(기본마운트)

swapon /dev/sda2
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot

00 stage3 다운로드

여기서 밑에 명령으로 현재 커서위치폴더에 받아지므로, 위치는 /mnt/gentoo/ 입니다.
livecdgentoo# wget http://ftp.daum.net/gentoo/releases/x86/2008.0/stages/stage3-i686-2008.0.tar.bz2
이젠 받아진 그위치에서 압축을 풉니다.
livecdgentoo# tar xvjf stage3*

00 portage 다운로드

다운받을곳으로 커서를 이동시켜놓고 하기위해서,
livecdgentoo# cd /mnt/gentoo/usr
livecd /usr# wget http://ftp.daum.net/gentoo/snapshots/portage-latest.tar.bz2
livecd /usr# tar xvjf portage-lat*

00 컴파일환경변수설정 들쳐보기

아직은 vi가 설치 안됐으므로, nano로 엽니다.
# nano /mnt/gentoo/etc/make.conf
참고로 사용중인 PC의 cpu는 amd2600Mhz one_core 입니다.
밑에는 make.conf의 내용입니다.

CFLAGS = " -O2 -march = i686 -pipe "
CXXFLAGS = " -O2 -march = i686 -pipe "
CHOST = " i686 - pc -Linux - gnu "

이렇게 3줄이 활성상태로 적혀있었다.
이것은 자동으로 생성된것인데, 수정할 필요도 없고,
수정하면 오히려 오류발생빈도가 높아보인다.

00 미러설정(다운받을 장소를 미리 정해놓는 작업)

livecdgentoo# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
이렇게하면, 조금있다가, 뭔 화면이 뜨는데, 스크롤을 제일 밑으로 내리면,
다운이 잘되는 한국서버들이 보일겁니다. space와 tab키를 이용해서,
*표시를 한후에 엔터합니다.

00 DNS정보를 복사하기(chroot명령전에 해야합니다)

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

00 proc, dev를 마운트 한다,(마무리_마운트)

# mount -t proc proc /mnt/gentoo/proc
이것을 mount -t proc none /mnt/gentoo/proc 이렇게도 하는것같으나,
위에것이 더 좋아보인다.

# mount -o bind /dev /mnt/gentoo/dev

00 마운트돼있는 /mnt/gentoo/를 루트, 즉 / 로 전환시켜준다.
이름하야, chroot작업,

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

00 최근의 portage트리를 받는다.

# emerge --sync
이 작업을 한후에 메시지에서, emerge update 하라고 하는데,
안하는것이 좋은것같았다.

# emerge --oneshot portage

00 패키지설치를 위한 환경설정을 확인해본다.

/etc/make.conf 내용을 한번 들쳐본다.
# nano /etc/make.conf
# ls -FGg /etc/make.profile

00 한국어를 추가한다.

# nano /etc/locale.gen

밑에다 아래내용을 추가한다.

ko_KR.UTF-8 UTF-8
ko_KR.EUC-KR EUC-KR

00 커널을 설치한다.(고수분이 아니면 genkernel명령방식으로 설치한다)
컴파일중에 줄줄이 뜨는 메시지를 보니, portage까지 하나하나 들쳐보면서
컴파일하는것으로 봐서, genkernel로 하는게 좋아 보인다.

# emerge gentoo-sources
소스를 받고,풀고, 심볼릭링크까지 자동으로 진행돼서, 바로,,
# ls -l /usr/src/linux
# emerge genkernel
# cp /boot/config* /usr/src/linux버젼/.config
이것은 전에쓰던 재활용해보려는 방법인데, 아예 새로운방식으로
하려면 이작업은 필요없을수도 있다.

#genkernel --menuconfig all
이때 먼저, /etc/genkernel.conf 문장을 참고한다.
menuconfig화면에서, 원하는 항목을 골라서 선택하고는 저장하고, 끝내면,
/usr/src/linux버젼명/폴더안에 .config화일로 저장되는데,
그냥 ls 로는 안보이고, ls -al 로 해야 보인다.
이미 genkernel 이 실행되고 있을것이다.
여기서 2-3시간이 걸리므로, 아예 다른일을 하면서, 시간을 보낸다.

00 부팅될 이미지 확인 작업,
# ls /boot/kernel* /boot/initramfs*

00 부팅시에 마운트될 파티션설정및 확인,

# nano /etc/fstab
# nano /proc//mounts
# nano /etc/mtab

00 시스템이름을 정한다.

# nano /etc/conf.d/hostname
이것은 그냥 손을 안대면, 디폴트로 localhost 이다.

00 네트워크를 설정한다.

이것은 대부분 dhcp(자동으로, 또는 dhcpcd 라는 데몬으로 ip를 받아오므로
그냥 dhcp로 아래와 같이 정한다.

# nano /etc/conf.d/net
이렇게 화일을 열어서,
config_eth0 = ("dhcp") 를 적어주고, 저장한다.

여기서 nano 사용법은 아주쉽습니다. 수정한후에, 수정한것을 저장하고 나오려면,
ctrl+O를 한꺼번에 누르고는 뭐라고 물어보는 문장이 나오면, 엔터치고나서,
ctrl+X를 한꺼번에 누르면 저장하고는 나온것이다.

# rc-update add net.eth0 default
net문장을 수정한후에, 시스템에 적용시켜주는 문장입니다.

00 root의 암호를 정한다.
이 작업을 안하면 하드로 부팅후에 로그인을 할수없다.
# passwd

00 우선,, 시스템의 필수화일을 설치한다.
재부팅이 된후에 당장에 필요한것...

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

00 DHCP를 설치한다 (dhcp_client)
dhcp로 ip를 받아와야 네트워킹을 할수있다. 그래서,

# emerge dhcpcd
# dhcpcd eth0

00 부트로더(BootLoader)인 Grub를 설치한다.
이부분이 웹상에 있는 설명들에 부팅불능이 나오게 써놔서, 훈련 많이 했습니다.

# emerge grub
grub를 다운합니다. 그리고 기본설치를 합니다.
# nano /boot/grub/grub.conf
이렇게 grub.conf를 한번 봐봅니다.

00 Grub을 다운받고, 기본설치는 됐으니,
Grub의 뒷마무리작업을 해야 합니다.
그렇치않으면 부팅불능사태가 납니다.

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install --no-floppy /dev/sda
# grub --no-floppy
이렇게 하고나면, grub의 내부명령상태를 진입합니다.
그러면서, 프롬프트가 grub>로 바뀝니다.

grub> find /boot/grub/stage1
PC의 응답화면 => (hd0,0)
응답화면을 보고는 밑에것을 타이핑합니다.

grub> root (hd0,0)
grub> setup (hd0)
grub> quit

00 응용프로그램들 설치,

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

00 genkernel과 grub이 자동으로 해주기는 하나,
다시 한번 필수화일들 점검,,

00 재부팅,

stage3설치기가 상당히 긴데, 다른분들은 저같이
헛고생 안했으면 하는 바램으로, 이렇게 글을 올립니다.

댓글 없음:

댓글 쓰기

팔로어