You cannot see this page without javascript.

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

Linux 조회 수 445 추천 수 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
번호 제목 글쓴이 날짜sort 조회 수
169 Linux LFS/TheEnd - 마무리 LynX 2014-08-06 382
» Linux LFS/Make Bootable System - LFS 시스템 부팅하기 LynX 2014-08-06 445
167 Linux LFS/Bootscripts - 시스템 부트로더 설정하기 [8] LynX 2014-08-06 570
166 Linux LFS/Building - 빌드하기 [11] LynX 2014-08-06 2614
165 Linux LFS/Preparation - 준비 LynX 2014-08-06 745
164 Linux LFS/Introduction - 소개 [8] LynX 2014-08-06 669
163 Linux LFS/Preface - 서문 [9] LynX 2014-08-06 1072
162 Linux Custom Kernel 컴파일링 & 설치하기 [8] LynX 2014-08-06 457
161 Linux PDO_MYSQL 설치 [8] LynX 2014-08-01 310
160 Linux sendmail, dovecot 설치 및 설정 [20] LynX 2014-08-01 2724
159 Linux rc.local 서비스 등록하기 LynX 2014-07-22 504
158 Linux systemd unit 등록 옵션 LynX 2014-07-22 20455
157 Linux 페도라17(centos7) 새로운 서비스 관리 LynX 2014-07-20 570
156 Linux SSH 컴파일 설치 LynX 2014-07-19 376
155 Xpress Engine XML 쿼리 대신 직접 mysql 사용하기 LynX 2014-07-19 273
154 Xpress Engine XML 쿼리 대신 직접 mysql 사용하기 LynX 2014-07-16 391
153 Linux 리눅스 기본 명령어 LynX 2014-07-16 792
152 Xpress Engine xe 외부 php 파일에서 db 접근하기 executeQuery() LynX 2014-07-14 919
151 Xpress Engine xe 모든 변수값 출력해 보기 LynX 2014-07-14 93715
150 Xpress Engine XE용 query xml 방식으로 일반 테이블도 접근 처리 하기 LynX 2014-07-14 459

XE Login