You cannot see this page without javascript.

LFS/Make Bootable System - LFS 시스템 부팅하기

Linux 조회 수 459 추천 수 0 2014.08.06 10:32:22

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

엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수

XE Login