나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
아는만큼 보인다
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가

Vmware 에 Gentoo Linux 깔기 - I | Gentoo Linux 2004/10/30 21:53
http://blog.naver.com/ishraq/120007145013
Vmware Workstation version : 4.5.2 build 8848

http://www.vmware.com/products/desktop/ws_features.html

Gentoo Linux LiveCD : 2004.2

http://mirror.gentoo.gr.jp/releases/x86/2004.2/livecd/install-x86-minimal-2004.2.iso

 

1. Linux Virtual Machine 을 만든다.

   

   

   

   

   

   

   

   

 

 

2. CD 로 구운 LiveCD CD 드라이브에 넣고 start this virtual machine 을 누른다. 다운 받은 ISO 파일을 그대로 CD-Rom에 연결하는 방법도 있다. (Edit virtual machine settings를 눌러 알아서 설정한다.) 부팅 시 F2 를 눌러 boot 순서를 찾아서 CD-ROM을 제일 위로 놓는다. 부팅 후 아래와 같은 화면을 볼 수 있다.

   

 

3. 1번에서 virtual machine을 만들 때 NAT 으로 설정했으므로 다음과 같이 네트워크가 잡혀있다.

   

 

4. 파티션을 설정한다.

livecd root # cfdisk /dev/sda

   

sda1 : /boot, sda2 : /, sda3 : swap 을 위한 파티션임. Write 하고 나간다.

 

5. 파티션을 포맷한다.

livecd root # mkfs.ext3 /dev/sda1

livecd root # mkfs.xfs -f /dev/sda2

livecd root # mkswap /dev/sda3 ; swapon /dev/sda3

 

6. 임시로 마운트 한다.

livecd root # mount /dev/hda2 /mnt/gentoo/
livecd root # mkdir /mnt/gentoo/boot
livecd root # mount /dev/hda1 /mnt/gentoo/boot/

 

7. stage 파일을 받아온다. stage1부터 설치할 것이므로 해당 파일을 받는다.

livecd root # wget http://mirror.gentoo.gr.jp/releases/x86/2004.2/stages/x86/stage1-x86-2004.2.tar.bz2

 

8. stage 파일을 풀어준 후 proc 를 마운트한다.

livecd root #  cd /mnt/gentoo

livecd root #  tar -xvjpf /root/stage1-x86-2004.2.tar.bz2

livecd root # mount -t proc proc /mnt/gentoo/proc/

 

9. mirrorselect 를 이용해 mirror 를 정해주고 make.conf 를 편집한다. make.conf 편집시에 CFLAGS는 자신의 시스템에 맞게 설정해준다. 아래에서 march 만 맞게 바꿔줘도 된다. (-march=pentium3 또는 -march=pentium4 또는 -march=athlon-xp 등등 ... ) 도메인네임서버 설정도 복사하고, Local Portage directory도 만들어둔다.

livecd root #  mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

livecd root #  nano -w /mnt/gentoo/etc/make.conf

 CFLAGS="-O3 -march=athlon-xp -pipe"
 CHOST="i686-pc-linux-gnu"
 CXXFLAGS="${CFLAGS}"
 MAKEOPTS="-j2"

 USE="X gtk gtk2 gnome sse alsa cjk pseudo_bold -qt -kde"
 GENTOO_MIRRORS="ftp://xinicks.com/pub/linux/gentoo http://mirror.gentoo.gr.jp"
 PORTDIR_OVERLAY=/usr/local/portage

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

livecd root #  mkdir /mnt/gentoo/usr/local/portage

 

10. chroot 를 실행한다.

livecd root # chroot /mnt/gentoo /bin/bash

livecd / # env-update

livecd / # source /etc/profile

 

11. portage tree를 가져온다.

livecd / # emerge sync

 

12. bootstrap 을 실행해서 stage2 로 넘어가고 emerge system 으로 stage3 로 간다.

livecd / # cd /usr/portage/
livecd portage # scripts/bootstrap.sh ; source /etc/profile ; emerge system

livecd portage # cd /

livecd / # etc-update

 

13. localtime 을 설정한다.

livecd / #  ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

14. genkernel 과 kernel source 를 emerge 한다.

livecd / # emerge genkernel
livecd / # emerge gentoo-dev-sources

 

15. 파티션 정보를 설정한다.

livecd / # nano -w /etc/fstab

/dev/BOOT 를 /dev/sda1 으로 수정 
/dev/ROOT 를 /dev/sda2 로 수정 
/dev/SWAP 을 /dev/sda3 로 수정 

 

16. kernel 을 컴파일한다.

livecd / # genkernel --menuconfig all

다음의 항목들은 확인하도록 한다.

(1) Processor type and features  ---> Processor family (Athlon/Duron/K7)

(2) Device Drivers  ---> ATA/ATAPI/MFM/RLL support  ---> [*]  Intel PIIXn chipsets support

(3) Device Drivers  ---> SCSI device support  ---> SCSI low-level drivers  ---> <*> BusLogic SCSI support

(4) Device Drivers  ---> Networking support  ---> <*> AMD PCnet32 PCI support

(5) Device Drivers  ---> Sound  --->  Advanced Linux Sound Architecture  ---> PCI devices  ---> <M> (Creative) Ensoniq AudioPCI 1371/1373

(6) File systems  ---> DOS/FAT/NT Filesystems  ---> (949) Default codepage for FAT

(7) File systems  ---> DOS/FAT/NT Filesystems  ---> (EUC-KR) Default iocharset for FAT

(8) File systems  ---> Pseudo filesystems  ---> [*]   Automatically mount at boot

(9) File systems  ---> Native Language Support  ---> (EUC-KR) Default NLS Option

(10) File systems  ---> Native Language Support  ---> <M>   Codepage 437 (United States, Canada)

(11) File systems  ---> Native Language Support  ---> <M>   Korean charset (CP949, EUC-KR)

(12) File systems  ---> Native Language Support  ---> <M>   NLS ISO 8859-1  (Latin 1; Western European Languages)

(13) File systems  ---> Native Language Support  ---> <M>   NLS UTF8

 

17. 사운드 드라이버는 모듈로 설치했으므로 부팅시 자동으로 로딩하도록 설정한다.

livecd / # echo snd-ens1371 >> /etc/modules.autoload.d/kernel-2.6

 

18. hostname 과 domainname 등을 설정한다.

livecd / # echo gentoo1 > /etc/hostname
livecd / # echo vmware.net > /etc/dnsdomainname
livecd / # echo gentoo1.vmware.net > /etc/nisdomainname
livecd / # rc-update add domainname default

 

19. 네트웤 설정을 편집한다. net 파일을 열어서 dhcp 부분의 # 를 빼주고 option 도 설정한다.

livecd / # nano -w /etc/conf.d/net

iface_eth0="dhcp"
dhcpcd_eth0="-HD
"

livecd / # rc-update add net.eth0 default

livecd / # nano -w /etc/hosts

127.0.0.1       gentoo1.vmware.net gentoo1 localhost

 

20. 시스템 관리자 (root) 가 사용할 패스워드를 입력하고 log 데몬과 cron 데몬, xfsprog 등을 설치한다. sshd 도 부팅시 시작되도록 설정한다.

livecd / # passwd
livecd / # emerge metalog
livecd / # rc-update add metalog default
livecd / # emerge vixie-cron
livecd / # rc-update add vixie-cron default
livecd / # emerge xfsprogs
livecd / # rc-update add sshd default

 

21. 부트관리자를 깔고 설정한다. grup.conf 설정에서 kernel-2.6.9-gentoo-r1 와 initrd-2.6.9-gentoo-r1 은 자신이 설치한 커널의 버전을 확인해서 설정해준다.

livecd / # emerge grub

livecd / # nano -w /boot/grub/grub.conf

default 0
timeout 0
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.6.9-gentoo-r1
root (hd0,0)
kernel /kernel-2.6.9-gentoo-r1 root=/dev/ram0 init=/linuxrc ramdisk=4096 real_root=/dev/sda2
initrd /initrd-2.6.9-gentoo-r1

livecd / # cp /proc/mounts /etc/mtab
livecd / # grub-install --root-directory=/boot /dev/sda
livecd / # grub

root (hd0,0)
setup (hd0)
quit

 

22. vmware 를 리부팅한다. 리부팅시 F2 를 눌러 boot 순서에서 하드디스크를 먼저 부팅하게 한다.

livecd / # exit
livecd root # cd
livecd root # umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
livecd root # reboot

 

23. 리부팅하면 아래와 같은 화면을 볼 수 있다.

   

 

24. root 로 로그인한다. 패스워드는 20번에서 설정한 패스워드로 넣으면 된다.

 

25. "~x86" keyword 를 default 로 설정한다. make.conf 에 ACCEPT_KEYWORDS="~x86"을 추가한다.

gentoo1 root # nano -w /etc/make.conf

CFLAGS="-O3 -march=athlon-xp -pipe"
 CHOST="i686-pc-linux-gnu"
 CXXFLAGS="${CFLAGS}"
 MAKEOPTS="-j2"

ACCEPT_KEYWORDS="~x86"

 USE="X gtk gtk2 gnome sse alsa cjk pseudo_bold -qt -kde"
 GENTOO_MIRRORS="ftp://xinicks.com/pub/linux/gentoo http://mirror.gentoo.gr.jp"
 PORTDIR_OVERLAY=/usr/local/portage

 

26. 25번에서 추가한 내용이 적용되도록 world 를 emerge 한다.

gentoo1 root # emerge sync

gentoo1 root # emerge world

gentoo1 root # etc-update

gentoo1 root # env-update

gentoo1 root # source /etc/profile

 

27. vim 과 gentoolkit 를 설치한다.

gentoo1 root # emerge vim

gentoo1 root # emerge gentoolkit

 

28. clock 세팅을 수정한다.

gentoo1 root # vi /etc/conf.d/clock

CLOCK="UTC" 를 CLOCK="local" 로 수정

 

29. baselayout-1.11.4 에서는 부팅시 swap 을 두번 초기화해서 error 가 난다. 이를 수정한다.

gentoo1 root # vi /etc/init.d/localmount

# Swap on loopback devices, and other weirdnesses
ebegin "Activating (possibly) more swap" 
/sbin/swapon -a
eend $?
부분을 comment out 한다.


출처 : blog.naver.com

젠투 한국어 환경 설정
젠투 리눅스를 설치한 뒤 한국어 환경 설정 방법을 다룬다.

/etc/env.d/00basic 에 다음과 같은 내용을 추가해주고 env-update하면 한국어 환경 설정이 끝난다. 다음은 EUC-KR 한글 코드를 사용하는 것이다.

LANG="ko_KR"
LC_ALL="ko_KR"

X 윈도우 사용자는 다음과 같은 설정도 필요하다.

# 아미를 XIM 으로 사용하기 위한 설정
XMODIFIERS="@im=Ami"

# 나비를 XIM 으로 사용하기 위한 설정
XMODIFIERS="@im=nabi"

# 입력기 설정 imHangul과 ami /etc/profile에 다음을 추가합니다.
# 그놈의 imHangul 을 위한 자판 설정. 아래는 세벌식 390 설정이다.
GTK_IM_MODULE=hangul39

# 그놈이 UTF8 이 아닌 LANG 변수에 의존하는 화일이름 사용하도록 설정
G_BROKEN_FILENAMES=1

X 윈도우에서 한영키를 사용하기 위해서는 /etc/X11/Xmodmap 파일에

keycode 121 = Hangul_Hanja
keycode 122 = Hangul


사족을 붙이면....

로케일 설정(euc-kr)입니다:
코드:
#KOREAN
LANG="ko_KR.euckr"
LC_ALL="ko_KR.euckr"
# ko_KR.euckr:ko_KR:ko:en_US:en
SUPPORTED="ko_KR.euckr:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="iso01"

#NABI
XMODIFILERS="@im=nabi"
XIM_PROGRAM="/usr/bin/nabi"


utf-8 일때의 설정입니다:
코드:

#KOREAN
LANG="ko_KR.UTF-8"
LC_ALL="ko_KR.UTF-8"
# ko_KR.utf-8:ko_KR:ko:en_US:en
SUPPORTED="ko_KR.UTF-8:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="iso01"

#NABI
XMODIFILERS="@im=nabi"
XIM_PROGRAM="/usr/bin/nabi"

- UTF 부분은 꼭 대문자로 써줘야 인식을 한다.

========================================================================
출처 : 메롱이야

커널에서 Console Driver 내의 vga textconsole 와 video mode selection support를 선택하신 분들은 콘솔의 해상도를 간단한 방법으로 바꿀 수 있습니다. 부트매니저(lilo,grub)에다 vga= 옵션 만 하면 됩니다 옵션값은 640x480에서 16비트 일때는 vga=0x311 800x600에8 비트는 0x303으로800x600,16비트는 vga=0x314 1024x768,16비트는 vga=0x317 등으로 하시면 됩니다. 그리고 폰트를 변경하시고 싶으신분은 rc.conf 의 19번째라인의 CONSOLEFONT="default8x16"에서 ""안의 내용을 원하는 폰트로 바꿔주면 됩니다 폰트는 /usr/share/consolefonts안에 있습니다 물론 미약하나마 한글 설정에 한글폰트를 가지신분은 한글로 보기도 가능하겠죠. 그리고 zgv를 사용하면 콘솔모드에서도 그래픽을 볼수가 있습니다

grub설정예 
 
#vi /boot/grub/menu.lst 
default 0 
timeout 25 
splashimage=(hd0,1)/boot/grub/splash.xpm.gz 
 
title=Windows XP PRO 
root (hd0,0) 
chainloader +1 
 
title=My Gentoo Linux 
root (hd0,1) 
kernel /boot/bzImage root=/dev/hda2 vga=0x311<==> 바로이부분을 추가 
 
title=Floppy 
root (fd0) 
chainloader +1 


출처 : 동우의 HomePage

gentoo는 runlevel 5를 쓰지 않습니다.
그 대신 /etc/rc.conf 파일의

XSESSION="kde-3.3.x" // kde용, kde 버전 적어야 함
XSESSION="gnome" // gnome용

DISPLAYMANAGER="kdm" // gnome의 경우는 "gdm"

이걸 수정하여 주시고

# rc-update add xdm default

쳐 주시면 됩니다.
그러면 일단 runlevel 5 효과는 낼 수 있겠죠.

하지만 제 생각은 runlevel 기능이 있으면
더 좋겠다고 생각합니다.
runlevel 3과 5를 넘나들 수 있으니 말입니다.

==================================================================
출처 : gentoo.or.kr

Checking root filesystem
fsck.ext3: No such file or directoryLBEL=/:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the While trying to open LBEL=/
superblock
is corrupt, and you might try running e2fsck with an alterate superblock:
e2fsck -b 8193
[FAILED]

*** An error wcured during the file system check.
*** Dropping you to a shell; the system will teboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D for normal startup):


부팅을 하다가 이것과 비슷한 에러메시지를 봤다.
마침 엠파스 지식검색에서 비슷한 질문이 있어 답변을 찾아냈다. 일단 시도해보자!!


===========================================================================


.원인

리눅스 시스템을 다운시킬때 정상적인 셧다운을 하지 않고
불시에 파워 다운 시키는 경우에 발생하는 현상임.

2.현상 및 간단 조치

-. 화면에 ctl-D 를 누르거나 root password를 넣어서 file system체크를
하라는 메시지가 나오며 엔터를 눌러도 계속 같은 메시지만 나오고
리부팅하고 나면 또다시 같은 메시지가 나오고 부팅을 하지 않고 멈추는 현상.

-- 원래 화면의 영문 메시지 --
Give root password for maintenance
(or type Control-D for normal startup):

-. 간단하게 조치하는 방법
1) 위의 화면 메시지에서 root 로그인 비밀번호를 입력하고 엔터키를 누른다.
2) 좌측 하단에 '#' 프롬프트가 나타나는지 확인하고 엔터키를 1,2회
눌러서 '#'이 나오는 시스템 반응이 나타나는지 확인한다.
3) 해당 프롬프트에서 fsck -A -a -C [엔터]를 입력한다.
하단에 무엇인가 체크하면서 올라가는 메시지(=표시)를 확인한다.
4) 모두 끝나면 exit[엔터]를 입력하여 시스템 부팅을 진행한다.
5) 이렇게 해서 안되면 아래의 복잡한 방법을 사용한다.

3. 복잡한 조치방법 및 설명

1) root password를 입력한 뒤 엔터를 누르면 root 사용자로 임시 로그인
한 상태가 됨.

2) 맨 왼쪽에 # 문자로 하여 프롬프트가 나오는데 여기에서 fdisk -l [엔터] 명령을 입력
만약 명령이 없다(not found)는 메시지같은 것이 나오면 /sbin/fdisk -l 을 사용함.

3) 결과로서 화면에 아래와 같은 형태의 메시지가 나오는데 시스템 처음 세팅할 때
설정하여 놓은 것에 따라 틀리게 나오게 됨.

일반적으로 부팅파일들(이미지 파일)은 /dev/hda1에 인스톨 되어 있고 이것이
깨지면서 부팅이 안되는 것이므로 /dev/hda1을 우선적으로 치유해야 한다.

치유 명령은 fsck.ext2 -py /dev/hda1 [엔터] 임.
*. 여기서 p는 강제로 체크하라는 것이며 y는 물어보지 말고 무조건
yes로 하라는 것임.

# /sbin/fdisk -l
Disk /dev/hda: 255 heads, 63 sectors, 4865 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 510 4096543+ 83 Linux
/dev/hda2 511 4865 34981537+ 5 Extended
/dev/hda5 511 1020 4096543+ 83 Linux

4) 혹시 다른 파티션 파일 시스템이 깨졌을지 모르므로 fsck -py /dev/hda2[엔터]
fsck.ext2 -py /dev/hda5[엔터]를 이용하여 모두 치유한다.
/dev/hda? 들은 해당 시스템은 인스톨시 설정에 따라 다를수 있으므로 fdisk -l [엔터]
해서 나온 메시지를 보고 치유한다.
fsck.ext2명령이 없다(not found)는 메시지가 나오는 경우에는
/sbin/fsck.ext2 -py /dev/hda1 과 같이
앞에 /sbin/ 을 붙인 명령을 사용한다.(full path사용)

*. 가끔 fsck명령후에 아래와 같은 메시지가 나오는데
'Do you really want to continue (y/n)?' 이때는 y를 누른다.

5) fsck.ext2명령이 모두 끝나면 다시 #의 프롬프트가 나오고 그상태에서
엔터키를 누르면 좌측에 #이 밑으로 출력되므로 엔터키를 눌러서 끝났음을
확인 하면 된다.
깨진 정도에 따라서 걸리는 시간이 다르게 되는데 일반적으로
3분을 넘어가지 않으며 3분 이상 '#'이 나오지 않고 화면이 멈추게 되면
이상이 있는 것으로 판단하다.
이 경우 전원을 껐다 켜고 위의 작업을 다시 반복한다.

6) fsck.ext2 명령이 모두 완료된 뒤에는 '#'프로프트 상태에서 exit[엔터]를
누르면 자동 리부팅되면서 예전상태로 정상 부팅이 된다.

7) 이렇게 했는데도 부팅이 안되는 경우에는 하드디스크가 심하게
손상된 것이므로 데이터 파일만 살리고 리눅스를 다시 인스톨
해야 하므로 그대로 파워 다운시키고 전문 엔지니어에게 연락한다.

3. 기타
-. 시스템에서는 master boot를 check할 일이 생기는 경우 자동으로 하기
싫다는 의도가 있는 것 같은데 실상 사람이 수동으로 하는 일도 fsck명령
주고 잘못된 것 삭제하는 것 이외에는 할일이 별로 없다.

-. 따라서 rc.sysinit에서 sulogin을 하는 것에 대하여 의문이 생기는데
이것을 sulogin대신 fsck -A -a -C 명령으로 강제로 치유하는 것이
좋을 것 같다. 방법은 /etc/rc.sysinit에서 fsck -T -R -A -a하고 난
뒤 이상이 있으면 동작하는 sulogin을 막고 fsck -A -a -C를 넣어주면
문제가 없어진다.

이전 페이지 [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 ] 다음 페이지 다음 10번째 페이지
 
전체 글보기(62)
잡다..
리누기
내머릿속의..
최근 글
mysql_fetch_..
as
mysql root 패..
PHP 세션 에러
바탕화면 아이콘 크기 ..
지난 글
2009년 1월
2009년 2월
2009년 3월
2009년 4월
2009년 5월
2009년 6월
2009년 7월
2009년 8월
2009년 9월
2009년 10월
2009년 11월
2009년 12월
최근 댓글 전체보기
huanhang2004..
mysql 버전업뎃 되..
시키는대루 햇는데 ..
真棒!!(..
좋은 메뉴네요 스크랩해..
최근 참조글 전체보기
리눅스커널2.6에서 한
 즐겨찾기
 즐겨찾기 글모음
다녀간 블로거 더보기
- jd1000
- 강아지똥
- rudehdi
- redeemerlcc
- ww
2009 12월
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
SERVER™ (fxpnfo)
프로필     
 인기도 :
 이 블로그 점수주기
오늘 전체
방문자 6 40531
구독자 0 2
댓글 0 5
참조글 0 1
HanRSS 로 구독하기Fish 로 구독하기
개설일 : 2004/08/28