· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
LFS/Make Bootable System

LFS 시스템 부팅하기

소개

이번에는 LFS 시스템을 부팅 가능하도록 만들 것입니다. 이번 장에서는 fstab 파일을 이용해 LFS 시스템을 위한 커널을 빌드하고 GRUB이라는 부트로더를 설치하여 컴퓨터를 부팅하였을 때 LFS 시스템을 선택할 수 있도록 만들 것입니다.

/etc/fstab 파일 만들기

/etc/fstab 파일은 시스템에 기본으로 마운트되게 하기 위해 필요한 파일로 다음과 같이 파일시스템 테이블을 만들어 줍니다.
cat > /etc/fstab << "EOF"
# Begin /etc/fstab

# file system  mount-point  type     options             dump  fsck
#                                                              order

/dev/<xxx>     /            <fff>    defaults            1     1
/dev/<yyy>     swap         swap     pri=1               0     0
proc           /proc        proc     nosuid,noexec,nodev 0     0
sysfs          /sys         sysfs    nosuid,noexec,nodev 0     0
devpts         /dev/pts     devpts   gid=5,mode=620      0     0
tmpfs          /run         tmpfs    defaults            0     0
devtmpfs       /dev         devtmpfs mode=0755,nosuid    0     0

# End /etc/fstab
EOF

<xxx>, <yyy>, <fff>는 시스템에 맞게 설정하시기 바랍니다. 필자의 경우는
/dev/sda1		/boot		xfs		noauto,noatime	1 2
/dev/sda3		/		xfs		noatime		0 1
/dev/sda2		none		swap		sw		0 0
/dev/cdrom		/mnt/cdrom	auto		noauto,ro	0 0
/dev/fd0		/mnt/floppy	auto		noauto		0 0
이런식으로 되어 있습니다. LFS에서는 ext3를 사용했으므로 xfs부분을 ext3로 바꿔주시면 되겠죠? 자세한 정보는 man 5 fstab을 살펴보시기 바랍니다.

MS-DOS와 Windows의 파일시스템(vfat, ntfs, smbfs, cifs, iso9660, udf)는 ASCII 문자가 아닌 파일 이름을 적절하게 변환하기 위해 "iocahrset"이라는 마운트 옵션이 필요합니다. 이것은 커널설정의 File System->Native Language Support가 설정되어 있어야 제대로 작동합니다."codpage"라는 옵션은 vfat, smbfs 파일시스템을 위해 필요한 것인데 여러분의 나라에서 사용되는 codepage 숫자를 설정해야하기 때문에 필요한 옵션입니다.

Linux-3.5.2

빌드 타임: 1.0 - 5.0 SBU

필요 공간: 540 - 800 MB

커널 설치하기

먼저 컴파일을 준비합니다.
make mrproper

메뉴화면으로 커널을 설정할 수 있습니다. 다음의 링크를 참고하여 커널 설정에 대한 일반적인 정보를 살펴보십시오: [http]http://www.linuxfromscratch.org/hints/downloads/files/kernel-configuration.txt . 나중에 BLFS에서 필요로 하는 커널 설정이 있으니 다음을 참고하셔서 설치하시기 바랍니다: [http]http://www.linuxfromscratch.org/blfs/view/svn/longindex.html#kernel-config-index

make menuconfig
make
make modules_install

boot 파티션 마운트 후에 bzImage를 복사해줍니다.
cp -v arch/x86/boot/bzImage /boot/vmlinuz-3.5.2-lfs-7.2

System.map은 커널의 심볼 파일입니다. 이것은 모든 함수들에 대한 엔트리 포인트를 가지고 있습니다. 때문에 커널을 실행하려면 이 파일이 반드시 있어야합니다. 다음과 같이 System.map파일을 복사해줍니다
cp -v System.map /boot/System.map-3.5.2

나중을 위해 kernel 설정 파일을 복사해줍니다.
cp -v .config /boot/config-3.5.2

리눅스 커널 관련 문서를 설치해줍니다
install -d /usr/share/doc/linux-3.5.2
cp -r Documentation/* /usr/share/doc/linux-3.5.2

Linux 모듈 로드 순서 설정하기

/etc/modprobe.d/안에 있는 설정파일을 수정하여 모듈을 순서대로 로드할 수 있습니다. 이 순서를 잘 조정하면 원하는 순서대로 모듈을 로드할 수 있습니다.


install -v -m755 -d /etc/modprobe.d
cat > /etc/modprobe.d/usb.conf << "EOF"
# Begin /etc/modprobe.d/usb.conf

install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i ohci_hcd ; true
install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i uhci_hcd ; true

# End /etc/modprobe.d/usb.conf
EOF

Grub 이용한 부트 프로세스 설정하기

설치하기전에:

만일 여러분이 현재 사용하고 있는 부트로더를 사용하고 싶다면 굳이 새로 GRUB을 설치할 필요는 없습니다. 대신 해당 부트로더의 설정파일을 잘 설정하여 커널을 로드하도록 만들어야 합니다.

grub-install /dev/sda

/boot/grub/grub.cfg 파일을 만들어줍니다.
cat > /boot/grub/grub.cfg << "EOF"
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5

insmod ext2
set root=(hd0,2)

menuentry "GNU/Linux, Linux 3.5.2-lfs-7.2" {
        linux   /boot/vmlinuz-3.5.2-lfs-7.2 root=/dev/sda2 ro
}
EOF

ID
Password
Join
Stop searching forever. Happiness is just next to you.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2013-01-31 09:39:39
Processing time 0.0056 sec