로그인 영역

통합 검색
통합 검색

젠투 공식 홈페이지
젠투 공식 한글 번역 문서
부 메뉴
  1. 질문/답변
  2. Tips
  3. 위키(새 창)
  4. 뉴스/새소식
컨텐츠 영역

LiveDVD 11.0 가지고 놀기

2011.04.30 23:08

삼사라 조회 수:5306

## 편의상 평어체로 씁니다.

나왔다는 기사는 보았는데 그러려니 하면서 관심을 두지 않다가 심심해서 가지고 놀아보았다. 개인적으로 이번 LiveDVD 에서 다음의 기능이 눈에 띈다: Writable AUFS support so you can emerge new packages!

찾아보니 aufs 는 몇 개의 디렉토리를 묶어서 하나의 파일 시스템으로 인식시켜주는 기능이라고 한다. 새로 묶인 파일시스템을 writable 로 설정함으로써 위에서 언급한 특징을 가질 수 있는 모양이다. 비록 휘발성이기는 해도 쓰고 있는 동안에는 프로그램 설치/제거가 자유롭다.

준비물: 4G 바이트 또는 그 이상의 용량을 가진 usb 메모리


(1) LiveUSB 제작
우선 DVD 이미지를 다운 받았다.
$ wget http://ftp.lecl.net/pub/gentoo/releases/x86/11.0/livedvd-x86-amd64-32ul-11.0.iso
or
$ wget http://ftp.lecl.net/pub/gentoo/releases/amd64/11.0/livedvd-amd64-multilib-11.0.iso

다음의 명령을 입력하고 usb 메모리를 꽂는다:
# tail -f /var/log/messages

메시지를 보면 꽂힌 usb 장치명을 알 수 있다. 여기에서는  /dev/sdb 라고 가정한다.

 ** 더 진행하기 전에 usb 메모리 안의 자료들을 모두 다른 곳으로 옮겨 놓는다.
 ** 다음의 명령을 실행하면 깡그리 뭉개진다.

다음과 같이 하면 쉽게 LiveUSB를 제작할 수 있다:
# dd if=livedvd-x86-amd64-32ul-11.0.iso of=/dev/sdb

제작한 김에 부팅을 시켜 본다. 잘 작동하면 다음으로 진행한다. 위의 방법으로 LiveUSB를 제작하면 간편하기는 하지만 파일시스템이 iso9660 으로 되어서 더 이상 수정이 불가한 단점이 있다. 읽기/쓰기가 모두 가능하고 다른 운영체제에서도 접근하기 편한 파일시스템인 vfat 으로  LiveUSB를 제작하기 위하여 젠투 매뉴얼을 참고하기로 한다:
http://www.gentoo.org/doc/en/liveusb.xml

필요한 것만 추려내면 다음과 같다.

파티션 나누기:
# fdisk /dev/sdb
n 을 입력하여 파티션을 추가한다.
t 를 입력하여 Id 를 b 로 변경한다(W95 FAT32).
w 를 입력하여 저장하고 나온다.

포맷:
# emerge -av sys-fs/dosfstools
# mkdosfs -F 32 /dev/sdb1
(주의: 과거 LiveCD 시절만 해도 -F 16 의 옵션으로도 괜찮았지만 이번에는 꼭 -F 32 로 주어야 한다. -F 16 으로 주면 2 G 바이트 이상의 파일이 복사되지 않는다. 이번 DVD에 2.3 G 바이트 짜리 파일이 들어 있다.)

MBR 설치:
# emerge -av '>sys-boot/syslinux-3'
# dd if=/usr/share/syslinux/mbr.bin of=/dev/sdb

DVD 이미지와 usb 메모리를 마운트하여 파일 복사:
# mkdir -p /mnt/cdrom
# mount -o loop -t iso9660 livedvd-x86-amd64-32ul-11.0.iso /mnt/cdrom
# mkdir -p /mnt/usb
# mount -t vfat /dev/sdb1 /mnt/usb
# cp -r /mnt/cdrom/* /mnt/usb
# mv /mnt/usb/isolinux/* /mnt/usb
# mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
# rm -rf /mnt/usb/isolinux*

# umount /mnt/cdrom
# sed -i \
    -e "s:cdroot:cdroot slowusb:" \
    /mnt/usb/syslinux.cfg

# umount /mnt/usb

부트로더 설치:
# syslinux /dev/sdb1
부팅을 시켜 본다.


(2) 수정하기
이것 저것 둘러보니 대체로 마음에 든다. 그런데 약간 거슬리는 부분들을 살짝 고쳐보고 싶은 마음이 생겼다. 그래서 다시 내 시스템으로 돌아왔다.

# emerge -av sys-fs/squashfs-tools

image.squashfs 파일을 풀어놓으면 대략 7 G 바이트가 된다. 따라서 여유 공간이 있는 파티션을 작업장으로 선택하는 것이 좋다. 여기에서는 home 파티션을 선택했다고 가정한다.
# cd /home
# unsquashfs /mnt/usb/image.squashfs

디렉토리 하나가 생성되었다. 편의상 이 디렉토리의 이름을 변경한다.
# mv squashfs-root image.squashfs.d

뭐가 들어 있나 하고 들여다 보니 커널 이미지와 램디스크를 제외한 시스템 전체가 다 들어 있다. 거기로 들어가서 수정작업을 하기 위해서 핸드북의 내용을 참고하여 새로운 root를 임명한다.
# cp -L /etc/resolv.conf /home/image.squashfs.d/etc/
# mount -t proc none /home/image.squashfs.d/proc
# chroot /home/image.squashfs.d /bin/bash
# env-update
# source /etc/profile
# export PS1="(DUNGEON) $PS1"

여기에서 여러가지 수정 작업을 수행한다. 일단 폰트를 설치하였고, fontconfig 설정을 했다. 내 시스템의 설정을 곁눈질 하면서 기계적으로 하니 별 어려움은 없다. fbsplash 를 위하여 다음의 명령도 실행하였다.
(DUNGEON) # rc-update add fbcondecor default

재배포를 목적으로 하지 않기 때문에 /etc/make.conf 를 열어서 라이센스를 다음과 같이 고쳐주었다.
#ACCEPT_LICENSE="@BINARY-REDISTRIBUTABLE"
ACCEPT_LICENSE="*"

그런 다음에 플래시를 설치하였다.
(DUNGEON) # emerge adobe-flash

그 외에 scim-hangul 등을 설치하였다. 일이 커질 것 같아서 굳이 emerge --sync 는 하지 않았다. 그냥 살짝 고치는 것 뿐이니까. 그런데 이번 DVD에 사용된 커널 sys-kernel/gentoo-sources-2.6.37-r1 이 내 하드웨어에 안 맞는 부분이 있어서 다른 커널을 설치해 보고 싶다. 커널을 다시 설치하지 않을 사람은 (4) 절로 바로 넘어가도 된다.


(3) 새 커널 컴파일하기
[이 절의 내용은 LiveDVD와 상관없이 aufs 패치/설치에 관한 내용으로만 봐도 된다].

aufs 기능을 사용하지 않고도 부팅은 가능하더라만 부팅 시간도 더 걸리고 기능에도 제한이 있으니 aufs 패치를 하는 것이 나을 것이다. 하는 방법은 프로젝트 페이지에 잘 나와 있다 (http://aufs.sourceforge.net/). 세 개의 소스 트리 중에서 aufs2-util 은 필수이고 다른 둘 중에서는 하나를 선택하면 된다. 내 개인적으로 설치가 쉬워보이는 aufs2-standalone tree 를 선택하고 필수 요소인 aufs2-util tree 와 함께 내려받는다. 대체로 다음의 두 가지 원칙대로 하기로 한다.

* 커널 패치는 손으로 직접한다.
* aufs2-util  설치는 emerge 에 맡긴다.

그 이유는 다음과 같다. kernel-patch 라는 use flag 를 주고 aufs2 를 설치하면 커널에 자동으로 패치를 해주기는 하지만 커널 속에 aufs 옵션이 보이지는 않는다. ebuild 를 열어보니 aufs 개발자가 말한 3 개의 패치 중에 2 개만 적용하더라. 결국 이 방식은 바깥 모듈(external module)을 설치하는 데 주안점을 두고 있는 것을 알 수 있다. 개발자가 설명한 몇 가지 방법 가운데 여기에서 소개하는 방법으로 하면 바깥 모듈과 붙박이 모듈(built-in module) 중에서 선택하여 설정할 수 있다. 그런데 바깥 모듈로는 LiveDVD가 부팅되지 않기 때문에 우리는 붙박이 모듈로 설정할 것이다. 그런 다음 커널 컴파일을 하면 커널 속에 aufs 라는 붙박이 모듈이 들어가 있게 된다. 그런데 `emerge aufs2' 를 실행하면 aufs2-util 도 설치하지만 커널 속에 들어 있는 것과 별도로 또 aufs 라는 바깥 모듈이 만들어진다. 이것은 불필요한 것이니 그냥 지우면 된다.

소스 내려 받기 ()
chroot 환경내에서 sys-kernel/gentoo-sources-2.6.36-r8 커널 소스를 설치하였고 /root/aufs 디렉토리를 만들어서 거기에서 다음의 다운로드를 수행하였다. 프로젝트 홈페이지에서 그대로 복사해 온 내용이다. 실제로 다음의 각 명령을 실행할 때는 줄바꿈을 안 하는 것이 좋더라. 즉, 백슬래시(\)를 빼고 한 줄씩 입력하여 실행하였다.
o aufs2-standalone tree
$ git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git \
    aufs2-standalone.git
$ cd aufs2-standalone.git
$ git checkout origin/aufs2.1-36
 (주의: 36 은 linux-2.6.36 을 뜻한다. 자신이 선택한 커널 버젼에 맞게 설정해야 한다.)

o aufs2-util tree
$ git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git \
    aufs2-util.git
$ cd aufs2-util.git
$ git checkout origin/aufs2.1

패치하기
(DUNGEON) # cd /usr/src/linux
(DUNGEON) # patch -p1 < /root/aufs/aufs2-standalone.git/aufs2-kbuild.patch
(DUNGEON) # patch -p1 < /root/aufs/aufs2-standalone.git/aufs2-base.patch
(DUNGEON) # patch -p1 < /root/aufs/aufs2-standalone.git/aufs2-standalone.patch

파일 복사
(DUNGEON) # cd aufs2-standalone.git
(DUNGEON) # rsync -a Documentation /usr/src/linux/
(DUNGEON) # rsync -a fs /usr/src/linux/
(DUNGEON) # rsync -a include/linux/aufs_type.h /usr/src/linux/include/linux/

LiveDVD 11 에서 사용된 커널 옵션을 공수해 왔다:
AMD64 http://paste.pocoo.org/show/344244/ X86 http://paste.pocoo.org/show/344245 kernel configs.

이것을 /root/config/config-2.6 이라고 저장해 두었다. 결과론이지만 컴파일 오류를 피하기 위하여 다음의 옵션은 빼든가 아니면 필요한 펌웨어들을 미리 설치하고 진행하는 것이 낫다:
CONFIG_EXTRA_FIRMWARE="radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin radeon/R600_rlc.bin radeon/R700_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin"

나는 radeon 사용자가 아니라서 뺐다.

(DUNGEON) # genkernel --menuconfig --kernel-config=/root/config/config-2.6 all
커널 옵션
File systems  --->
[*] Miscellaneous filesystems  --->
<*>   Aufs (Advanced multi layered unification filesystem) support
 주의: M 으로 하면 부팅이 안됨.

컴파일이 끝난 후 커널 소스 디렉토리에서 다음을 실행한다:
(DUNGEON) # make headers_install

(DUNGEON) # emerge aufs2 -pv
아무 use flag도 넣지 않았다. 커널 패치를 손으로 미리 했기 때문에 kernel-patch use flag는 빼도 된다.

(DUNGEON) # emerge aufs2

앞서 언급한 바와 같이 이 때 만들어진 aufs 모듈은 중복이므로 지워도 된다.
(DUNGEON) # rm /lib/modules/2.6.36-gentoo-r8/misc/aufs.ko
(DUNGEON) # depmod -a
(커널 옵션에서 aufs를 바깥 모듈로 설정하여 컴파일 해보면 /lib/modules/2.6.36-gentoo-r8/kernel/fs/aufs/aufs.ko 라는 모듈이 만들어지는 데서 중복이라고 판단할 수 있다. 이것은 확인 차원에서 해볼 일이고 실제로는 붙박이(built-in) 모듈로 설정해야 한다.)

ramdisk 에 스플래시 테마를 적용한다:
(DUNGEON) # genkernel ramdisk --splash=livecd-10 --splash-res=1024x768

다른 창을 열어서 커널 이미지와 램디스크를 usb 메모리에 복사해준다.
# mount /mnt/usb
# cd /home/image.squashfs.d/boot/
# rsync -a kernel-genkernel-x86-2.6.36-gentoo-r8 initramfs-genkernel-x86-2.6.36-gentoo-r8 /mnt/usb/boot


(4) 새 squashfs 이미지 뜨기
(DUNGEON) # exit
# umount /home/image.squashfs.d/proc
# mount /mnt/usb
기존의 이미지는 미리 지워주어야 한다. 안 그러면 덧붙여진다. 지우기 싫으면 -noappend 옵션을 줘도 될 것 같다. 해 보진 않았다.
# rm /mnt/usb/image.squashfs
커널 소스는 임시로 다른 곳에 옮겨 놓는다.
# mv /home/image.squashfs.d/usr/src/linux-2.6.36-gentoo-r8 /home/
# cd /home/image.squashfs.d
# mksquashfs ./* /mnt/usb/image.squashfs

이 명령을 내리면 하드디스크를 심하게 긁어댄다. 잠시 컴퓨터 사용을 보류하는 편이 좋은 것 같다.

/mnt/usb/syslinux.cfg 을 수정하여 새로 설치한 커널을 등록해준다. fbsplash 는 verbose 모드가 그나마 무난하게 작동하더라. 아직까지 openrc 하에서는 그런 것 같다. 변경 사항을 적용하려면 재설치를 해줘야 한다. grub 하고 다른 점이다.
# umount /mnt/usb
# syslinux /dev/sdb1
부팅을 시켜 본다.


(5) 내 시스템을 gentoo LiveDVD 11 에 넣기
LiveDVD 의 틀은 그대로 유지한 채 알맹이만 내 시스템의 것으로 바꿔 넣어보기로 한다. DVD 내용을 들여다 보니 fstab 이 좀 달라보인다. 또한 당연히 커널이 aufs 기능을 지원하도록 해야 할 것이다. 위에서 한 번 해보았기 때문에 별다른 것은 없지만 굳이 이것을 해보겠다는 것은 다음과 같은 점들에 의의를 둘 수 있기 때문이다.
一.내 시스템의 압축 복사본을 가지게 된다.
一.유사시 긴급 복구용 부팅매체로 이용 가능하다. 익숙한 환경이라서 좋다.
一.조금 더 발전시키면 범용 LiveDVD로도 될 수 있다.
一.기대하는대로 되는지 궁금증을 풀어본다.

커널은 LiveDVD의 것을 그대로 가져다 써도 되겠지만 약간 다르게 설정하기 위하여 다시 컴파일 하기로 한다. 소스 디렉토리도 내 시스템의 것을 이용한다. 만들어지는 커널 이미지와 기존의 커널 이미지를 구분하기 위해서 커널 버전을 변경한다:
(이 작업들은 내 시스템에서 이루어 지는 것이다. (3) 절에서 사용된 chroot 환경이 아니다 )
# cd /usr/src
# mv linux-2.6.36-gentoo-r8 linux-2.6.36-gentoo-r8-aufs
# unlink linux
# ln -s linux-2.6.36-gentoo-r8-aufs linux
linux/Makefile 을 열어서 EXTRAVERSION = -gentoo-r8-aufs 으로 수정해 준다.

패치하기:
# cd /usr/src/linux
# patch -p1 < /home/image.squashfs.d/root/aufs/aufs2-standalone.git/aufs2-kbuild.patch
patching file fs/Kconfig
patching file fs/Makefile
patching file include/linux/Kbuild

# patch -p1 < /home/image.squashfs.d/root/aufs/aufs2-standalone.git/aufs2-base.patch
patching file fs/namei.c
patching file fs/splice.c
patching file include/linux/namei.h
patching file include/linux/splice.h

# patch -p1 < /home/image.squashfs.d/root/aufs/aufs2-standalone.git/aufs2-standalone.patch
patching file fs/file_table.c
patching file fs/inode.c
patching file fs/namei.c
patching file fs/namespace.c
patching file fs/notify/group.c
patching file fs/notify/mark.c
patching file fs/open.c
patching file fs/splice.c
patching file security/commoncap.c
patching file security/device_cgroup.c
patching file security/security.c

파일 복사:
# cd /home/image.squashfs.d/root/aufs/aufs2-standalone.git
# rsync -a Documentation /usr/src/linux/
# rsync -a fs /usr/src/linux/
# rsync -a include/linux/aufs_type.h /usr/src/linux/include/linux/
# cp -a /home/image.squashfs.d/usr/src/linux/.config /root/config/config-2.6-aufs

LiveDVD의 genkernel 에는 aufs 에 대한 배려가 되어 있다. 이것을 활용하기 위하여 genkernel 설정 디렉토리를 복사한다:
# cd /usr/share
# mv genkernel genkernel.bak
# cp -a /home/image.squashfs.d/usr/share/genkernel .
# vi /usr/share/genkernel/defaults/initrd.defaults
다음 줄을 찾아서 끝에 /mysystem.squashfs 을 추가해 준다:
LOOPS='/livecd.loop /zisofs /livecd.squashfs /image.squashfs /livecd.gcloop /mysystem.squashfs'
(이게 꼭 필요한 것인지는 확인해 보지 못했지만 혹시나 싶어서 해준다.)

# genkernel --menuconfig --kernel-config=/root/config/config-2.6-aufs all
# cd /usr/src/linux
# make headers_install
# emerge aufs2 -pv
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] sys-fs/aufs2-0_p20110327  USE="-debug -fuse -hardened -hfs -inotify -kernel-patch -nfs -ramfs" 1,622 kB

Total: 1 package (1 new), Size of downloads: 1,622 kB

# emerge aufs2

strip: i686-pc-linux-gnu-strip --strip-unneeded -R .comment
   lib/modules/2.6.36-gentoo-r8-aufs/misc/aufs.ko
   usr/lib/libau.so.2.5
   sbin/mount.aufs
   sbin/umount.aufs
   sbin/auibusy
   sbin/auplink
ecompressdir: bzip2 -9 /usr/share/man
ecompressdir: bzip2 -9 /usr/share/doc
making executable: usr/lib/libau.so.2.5

불필요한 것은 지운다. 물론  ebuild 를 미리 수정해서 작업했다면 이런 수고는 없었을테지만.
# rm /lib/modules/2.6.36-gentoo-r8-aufs/misc/aufs.ko
# depmod -a

virtualbox 사용자만 해당됨:
# emerge virtualbox-modules -1

custom 이라는 fbsplash 테마를 사용하였다. 자신의 것에 맞게 한다.
# genkernel ramdisk --splash=custom --splash-res=1024x768

새 커널 이미지와 램디스크를 usb 메모리에 복사해준다.
# mount /mnt/usb
# cd /boot/
# rsync -a kernel-genkernel-x86-2.6.36-gentoo-r8-aufs initramfs-genkernel-x86-2.6.36-gentoo-r8-aufs /mnt/usb/boot

이제 squashfs 이미지를 뜰 차례이다. 내 시스템이라 제외할 것들도 많고 fstab 도 다르게 해 줄 필요가 있어서 간단한 스크립트를 짜서 하기로 한다.
# cp -a /home/image.squashfs.d/etc/fstab /etc/fstab.livedvd11
# cd /etc
# cp -a fstab fstab.bak
# cd /
# vi mksquashfs-mysystem.sh

스크립트 내용:
#!/bin/sh
echo "Changing fstab:"
cd /etc
ln -sf fstab.livedvd11 fstab
ls -l fstab
#echo "Changing net:"
#cd /etc/conf.d
#ln -sf net.dhcp net
#ls -l net
echo "Now squashing starts. "
cd /
# 소스 디렉토리를 / 라고 주면 다른 결과가 나옴에 주의할 것!
mksquashfs /* /mnt/usb/mysystem.squashfs -keep-as-directory -e /boot/* /home/* /lib/modules/2.6.36-gentoo-r8 /lib/modules/2.6.36-gentoo-r8-cp /lib/modules/2.6.36-gentoo-r8-g11 /mnt/usb/mysystem.squashfs /mnt/usb/* /proc /sys/* /tmp/* /usr/portage/distfiles/* /usr/src/linux-2.6.36-gentoo-r8-aufs /vm/*
echo "Restoring fstab:"
cd /etc
ln -sf fstab.bak fstab
ls -l fstab
#echo "Restoring net:"
#cd /etc/conf.d
#ln -sf net.specific net
#ls -l net
# mksquashfs-mysystem.sh 스크립트 끝

** 위의 스크립트에서 mksquashfs 명령 라인은 줄바꿈을 하지 말고 한 줄로 이어서 적어야 한다. -e 이하에는 제외한 파일/디렉토리 목록을 적어준다.  /mnt/usb/mysystem.squashfs 는 명시적으로 적어주어야 한다. 그 외에는 경우에 따라서 읽는 중에 파일이 변했다는 경고 메시지가 나오는 것들도 있지만 큰 문제는 되지 않는다.

# chmod 744 mksquashfs-mysystem.sh
# ./mksquashfs-mysystem.sh && ls -lh /mnt/usb/mysystem.squashfs && df -h && umount /mnt/usb && df -h

/mnt/usb/syslinux.cfg 를 수정한다. 기존의 설정은 그대로 두고 다음을 적당한 위치에 추가한다.

label Gentoo x86 (2.6.36-gentoo-r8-aufs)
  kernel /boot/kernel-genkernel-x86-2.6.36-gentoo-r8-aufs
  append root=/dev/ram0 init=/linuxrc aufs looptype=squashfs loop=/mysystem.squashfs cdroot slowusb initrd=/boot/initramfs-genkernel-x86-2.6.36-gentoo-r8-aufs splash=verbose,theme:custom console=tty1 quiet acpi_backlight=vendor scandelay=0 apm=on acpi=off apm=power-off
TEXT HELP
  Boot My Own x86 Gentoo kernel
ENDTEXT 
label Gentoo x86 nofb (2.6.36-gentoo-r8-aufs)
  kernel /boot/kernel-genkernel-x86-2.6.36-gentoo-r8-aufs
  append root=/dev/ram0 init=/linuxrc aufs looptype=squashfs loop=/mysystem.squashfs cdroot slowusb initrd=/boot/initramfs-genkernel-x86-2.6.36-gentoo-r8-aufs acpi_backlight=vendor scandelay=0 apm=on acpi=off apm=power-off
TEXT HELP
  Boot My Own Gentoo x86 with no frame buffer
ENDTEXT

acpi 를 사용하지 않아서 커널 파라미터 apm=on acpi=off apm=power-off 를 주었다. acpi 사용자들은 이것을 제거해야 한다. 다 되었으면 syslinux 를 재설치해준다.
# umount /mnt/usb
# syslinux /dev/sdb1

부팅을 시켜 본다. 초반부에 fbsplash 가 약간 깨지기는 하지만 무난하게 부팅이 된다. 사용해보니 하드로 부팅할 때보다 못하지 않은 속도가 나온다. /home 만 마운트하면 평소와 아주 똑같이 사용가능하다. /home을 마운트하기 싫으면 root 로 로그인하거나 루트 파티션에 홈 디렉토리를 가지는 계정을 미리 추가해서 환경을 정돈해 둔 뒤에 squashfs 이미지를 떠서 그 계정으로 로그인하면 된다. 원래의 이미지 image.squashfs 도 버리지 말고 같이 사용하면 된다. usb 메모리 용량이 충분하면 다행이고 그렇지 못한 경우에는 image.squashfs를 체중감량시켜서 usb 메모리에 내 시스템 이미지와 같이 넣어 놓으면 그걸로 부팅할지 내 시스템 이미지로 부팅할지 골라잡을 수 있게 된다. 왜냐하면 부트로더에 이미 다 등록되어 있으니까. 다만 원래 이미지는 범용이지만 내 시스템 이미지는 내 컴퓨터에 특화된 것이 차이라면 차이다. 내 이미지도 범용으로 만들려면 livecd-tools 설치를 고려해 볼만 할 것이다. 그런데 그것을 하드에 설치하는 것이 좋은지 어떤지 모르겠고 아직 필요성을 느끼지 못하여 여기서 그만 두기로 한다. 만약에 컴퓨터를 옮겨 다니면서 작업할 필요성이 있는 사람이라면 신중하게 시도해 볼 일이다.