본문 바로가기
운영_설치/리눅스_유닉스

젠투 설치 2015/2/19

by 써드아이 2015. 2. 20.



http://wiki.gentoo.org/wiki/Handbook:X86/Full/Installation/ko



* boot from install cd/usb


usb 부팅의 경우 unetbootin 프로그램으로 cd의 내용을 복사한 하면

usb 메모리로 부팅 가능하다 (SD카드도 부팅 가능??)




* 네트워크 / 패스워드 시간


# net-setup eth0 / enp4s0


# /etc/init.d/sshd start


# passwd


# date mmddhhmmyyyy




* partitioning & format


gpt 를 사용하자


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

bios 기반의 머신(현재 내 컴튜터)에서는 gpt는 윈도우와 듀얼 부팅할 수 없다.


uefi 기반의 머신에서는 부트 파티션(EFI 시스템 파티션)을 vfat(fat32)로 하지 않으면 리눅스 커널로 부팅할 수 없다.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


/dev/sda1 2M BIOS부트파티션 (부트로더에서 사용 grub2)

/dev/sda2 128M 부트파티션

/dev/sda3 512M 스왑파티션

/dev/sda4 나머지 루트 파티션




# parted -a opt /dev/sda


(parted) mklabel gpt


(parted) unit mib                                        # 단위를 MB로 해도 되지만 mib로 하는게 더 정확도가 높은듯하다.

(parted) mkpart primary 1 3 #

(parted) mkpart primary 3 515 # swap

(parted) mkpart primary 515 643 # /boo

(parted) mkpart primary 643 -1 # /


%%% 

/boot는 꼭 나눌 필요가 없을거 같은데..

그동은은 / 하나로 잘 써왔으니까...

%%%


(parted) name 1 grub

(parted) name 2 swap

(parted) name 3 boot

(parted) name 4 rootfs


(parted) set 1 bios_grub on



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

uefi 머신에서 부트파티션을 efi 시스템 파티션으로 설정

(parted) set 3 boot on


Enable the block layer

Partition Types --->

[*] Advanced partition selection

.....

[*]    EFI GUID Partition support

....


커널에서 위 설정이 반드시 필요함!!!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



# mkfs.vfat /dev/sda3 (uefi 머신용)

# mkfs.ext4 /dev/sda3 (bios 머신용)


# mkfs.ext4 /dev/sda4




* mount


# mount /dev/sda4 /mnt/gentoo 

# mkdir /mnt/gentoo/boot

# mount /dev/sda3 /mnt/gentoo/boot

# cd /mnt/gentoo




* get tarball & unpack


# wget http://ftp.kaist.ac.kr/gentoo/releases/x86/autobuilds/current-install-x86-minimal/stage3-i486-20141209.tar.bz2


# tar xvfjpf stage3-*.tar.bz2




* mount partitions


# mount /dev/sda4 /mnt/gentoo

# mount /dev/sda3 /mnt/gentoo/boot


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


# mount --rbind /dev /mnt/gentoo/dev

# mount --rbind /sys /mnt/gentoo/sys


# mount --make-rslave /mnt/gentoo/sys (systemd 사용시 필요)

# mount --make-rslave /mnt/gentoo/dev (systemd 사용시 필요)




* basic setup for new env & system build


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


GENTOO_MIRRORS="http://ftp.daum.net/gentoo/ ftp://ftp.kaist.ac.kr/gentoo/ http://ftp.kaist.ac.kr/pub/gentoo/"


/////////////////////////////////

** 더이상 필요 없어진듯..

# mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf


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

/////////////////////////////////////////////////



/mnt/gentoo/etc/portage/make.conf


MAKEOPTS="-j5"


USE="cjk unicode userslocale nptl acpi -apache2 -ipv6 -jpeg -png -X -truetype -gnome -gtk -cups -mozilla -kde -qt4 qt5"



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




* entering new envirments


# chroot /mnt/gentoo /bin/bash

# source /etc/profile

# export PS1="(chroot) $PS1"


# emerge --sync || emerge-websync




* profile set


# eselect profile list

# eselect profile set 8 (desktop) -> desktop 프로파일이 가장 충돌(?)이 적은듯 하다.




* timezone


# cd /etc

# echo "Asia/Seoul" > timezone

#

# emerge --config sys-libs/timezone-data




* locale


# nano /etc/locale.gen


ko_KR.EUC-KR EUC-KR

ko_KR.UTF-8 UTF-8


# locale-gen


# eselect locale list 

# eselect locale set ?




* 파일 시스템 정보


/etc/fstab


/dev/sda2               none            swap            sw              0 0

/dev/sda3               /boot           ext4            noatime         1 2

/dev/sda4               /               ext4            noatime         0 1




* 네트웍크 정보


/etc/conf.d/hostname

/etc/conf.d/net


config_eth0="192.168.0.10 netmask 255.255.255.0 brd 192.168.0.255"

routes_eth0="default via 192.168.0.1"


# cd /etc/init.d

# ln -s net.lo net.eth0

# rc-update add net.eth0 default


%%%%%%%%%%%%%%%%%%%%%%%%%%%

경우에 따라 eth0 대신 enp4s0 과 같은 이름일 수 있다.

%%%%%%%%%%%%%%%%%%%%%%%%%%%


/etc/hosts




* acount


# passwd 


# useradd <> -m -G users,wheel -g users

# passwd <>




* 컴파일 캐쉬


# emerge -u ccache


%%%%%%%%%%%%%%%%%%%%%%%%%%%

/etc/profile 에서 PATH의 제일 앞에 /usr/lib/ccache/bin 이 제일 앞으로 오도록 설정

PATH=/usr/lib/ccache/bin:${PATH}

%%%%%%%%%%%%%%%%%%%%%%%%%%%




* kernel configuration


# emerge sys-kernel/gentoo-sources


# make menuconfig



Device Drivers --->

Generic Driver Options --->

[*] Maintain a devtmpfs filesystem to mount at /dev

[ ]   Automount devtmpfs at /dev, after the kernel mounted the rootfs


File systems --->

(Select one or more of the following options as needed by your system)

<*> Second extended fs support

<*> Ext3 journalling file system support

<*> The Extended 4 (ext4) filesystem

<*> Reiserfs support

<*> JFS filesystem support

<*> XFS filesystem support

...

Pseudo Filesystems --->

[*] /proc file system support

[*] Virtual memory file system support (former shm fs)


Processor type and features  --->

[*] Symmetric multi-processing support


Device Drivers --->

[*] HID Devices  --->

<*>   USB Human Interface Device (full HID) support


Processor type and features  --->

[ ] Machine Check / overheating reporting 

[ ]   Intel MCE Features

[ ]   AMD MCE Features

Processor family (AMD-Opteron/Athlon64)  --->

( ) Opteron/Athlon64/Hammer/K8

( ) Intel P4 / older Netburst based Xeon

( ) Core 2/newer Xeon

( ) Intel Atom

( ) Generic-x86-64

Executable file formats / Emulations  --->

[*] IA32 Emulation



-*- Enable the block layer --->

...

Partition Types --->

[*] Advanced partition selection

...

[*] EFI GUID Partition support


Power management and ACPI option --->

....

ACCI (Advamced Configuration and Power Interface) Support --->

...

(*) AC Adapter

(*) Button

...

(*) Processor

(*) Thermal Zone



* grub 설정


# emerge -u sys-boot/grub


# grub2-install /dev/sda

# nano /etc/default/grub


# nano /etc/grub.d/40_custom


menuentry "Gentoo 3.18.11-gentoo" {

load_video


insmod gzio                        p가 아니고 o 임

insmod part_gpt

insmod ext4


set root="hd0,gpt3"

linux /bzImage-3.18.11-gentoo ro root=/dev/sda4 vga=791

}


# grub2-mkconfig -o /boot/grub/grub.cfg



* 시스템 업데이트


# emerge --update --deep --newuse @world



* 기타 필요한 패키지


# emerge -u pciutils usbutils hwinfo


# emerge -u syslog-ng logrotate mcelog vixie-cron mlocate rdate sys-block/parted sshfs-fuse

# emerge -u epm gentoolkit vim crossdev app-misc/mc samba



# emerge -u dev-vcs/git layman

# emerge -u subversion ctags cscope distcc


# emerge -u sys-fs/dosfstools

# emerge -u sys-boot/efibootmgr # uefi 시스템의 경우




* 서비스 등록


# rc-update add syslog-ng default

# rc-update add vixie-cron default

# rc-update add sshd default




* 기타 설정 


# nano -w /etc/conf.d/hwclock

clock="local"


# vi /etc/portage/make.conf


LINGUAS="ko" # 컴파일 할 때 한글 인코딩이 있는 패키지를 함께 받아서 컴파일 함

VIDEO_CARDS="nvidia" # 그래픽 관련된 프로그램에서 비디오 카드 확인을 필요로 할 때 이 값을 참조하여 컴파일 함


PORTDIR_OVERLAY="/usr/local/portage"


FEATURES="ccache"

CCACHE_SIZE="2G"

CCACHE_DIR="/var/tmp/ccache"


# PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes --delete-excluded --delete-before" 

이 옵션으로 문제가 많이 발생하는 듯



%%%%%%%%%%%%%%%%%%%%%%%%%%%

# nano -w /etc/inittab

# SERIAL CONSOLES

s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100

s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100


시리얼 콘솔 접근이 필요하다면 (원격 서버의 경우 가능) /etc/inittab에서 시리얼 콘솔 섹션의 주석 표시를 빼십시오:

%%%%%%%%%%%%%%%%%%%%%%%%%%%



# mkdir -p /usr/local/portage/metadata

# cat > /usr/local/portage/metadata/layout.conf

masters = gentoo




* reboot


# exit

# cd 


# umount -l /mnt/gentoo/dev{/shm,/pts,}

# umount /mnt/gentoo{/boot,/sys,/proc,}

# reboot



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2015 / 5/ 2/ portage update 


https://wiki.gentoo.org/wiki/Project:Portage/Sync


# mkdir /etc/portage/repos.conf

# cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf


/etc/portage/make.conf 의
SYNC 항목 주석처리

overlay 에 관련된 내용은 무슨 얘긴지 모르겠다 ㅡㅡ

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


2015/ 6/ 10/ 

emerge -u sys-boot/os-prober

이걸 설치해줘야 grub2가 커널을 자동으로 찾는다.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



'운영_설치 > 리눅스_유닉스' 카테고리의 다른 글

젠투 크로스 빌드  (0) 2015.04.14
grub2 메뉴 추가 (on gentoo)  (0) 2015.02.23
dd 명령어 옵션  (0) 2015.01.27
time 명령어  (0) 2014.07.26
젠투 distcc 반쯤 성공?  (0) 2014.07.26