4.3. USB 메모리 부팅에 필요한 파일 준비하기

USB 메모리에서 부팅할 경우 사용할 수 있는 설치 방식은 두 가지가 있습니다. 첫 번째 방법은 네트워크에서 전부 설치하는 방법입니다. 두 번째 방법은 USB 메모리에 CD 이미지도 복사해서 그 CD 이미지에서 (필요하다면 미러 사이트와 같이) 패키지를 설치하는 방법입니다. 두 번째 방법을 더 많이 사용합니다.

첫 번째 설치 방법의 경우 설치 프로그램 이미지를 netboot 디렉터리에서 (4.2.1절. “설치 이미지를 찾을 위치”에서 설명한 위치에 있습니다) 복사한 다음 아래에서 설명한 “유연한 방법”을 사용해 USB 메모리에 파일을 복사하십시오.

두 번째 설치 방법에서 사용하는 설치 이미지는 hd-media 디렉터리에 들어 있고 “쉬운 방법”이나 “유연한 방법” 중 하나를 사용해 이미지를 USB 메모리에 복사합니다. 이 설치 방법에서는 CD 이미지도 다운로드해야 합니다. 설치 이미지와 CD 이미지는 같은 debian-installer 버전의 이미지여야 합니다. 버전이 맞지 않으면 설치할 때 오류가 발생할 것입니다[4].

USB 메모리를 준비하려면 GNU/리눅스가 동작하고 USB를 지원하는 시스템이 필요합니다. 최신의 GNU/리눅스 시스템에서는 USB 메모리를 연결하면 자동으로 인식합니다. 자동으로 인식이 안 된다면 usb-storage 커널 모듈을 읽어들였는지 확인하십시오. USB 메모리를 연결하면 그 장치는 /dev/sdX에 연결됩니다. 여기서 “X”는 a-z 범위의 알파벳입니다. USB 메모리를 연결하고 dmesg 명령을 실행하면 그 USB 메모리가 어떤 장치에 연결되었는 지 알아볼 수 있습니다. USB 메모리에 쓰려면, 쓰기 방지 스위치를 풀어 놓아야 할 수도 있습니다.

주의

여기서 설명한 대로 하면 해당 장치에 들어 있는 내용이 모두 지워집니다! USB 메모리의 장치 이름을 올바르게 사용하도록 주의하십시오. 예를 들어 장치 이름을 잘못 사용해 하드 디스크에 들어 있는 내용이 모두 지워질 수도 잇습니다.

단 USB 메모리는 크기가 최소 256MB는 되어야 합니다. (4.3.2절. “파일 복사하기 — 유연한 방법”에 쓰여 있는 대로 하면 더 작아도 가능합니다.)

4.3.1. 파일 복사하기 — 쉬운 방법

hd-media/boot.img.gz 파일에는 syslinux와 그 설정 파일은 물론, 모든 설치 프로그램 파일이 (커널 포함) 다 들어 있습니다.

이 방식은 편리하기는 하지만 한 가지 큰 단점이 있습니다. USB 메모리 용량이 아무리 크더라도 장치의 논리 크기가 256MB까지 밖에 안 됩니다. USB 메모리의 파티션을 나눠서 새 파일 시스템을 만들어야 다른 용도로 사용할 수 있습니다. 또 한 가지 단점은 전체 CD 이미지를 복사해 넣을 수 없다는 점입니다. 작은 용량의 비지니스 카드나 네트워크 설치 CD 이미지만 가능합니다.

이 이미지를 사용하려면 USB 메모리에 압축을 풀어 놓기만 하면 됩니다:

# zcat boot.img.gz > /dev/sdX

그 다음 USB 메모리를 마운트하십시오. (mount /dev/sdX /mnt) 이 USB 메모리에는 FAT 파일 시스템이 들어 있고, 그 안에 데비안 네트워크 설치 ISO 이미지 혹은 비지니스 카드 ISO 이미지를 그 안에 복사합니다. 마운트를 해제하면 (umount /mnt) 다 끝납니다.

4.3.2. 파일 복사하기 — 유연한 방법

좀 더 유연한 방법이 좋다면, 아니면 무슨 일이 일어나고 있는지 보고 싶기라도 하다면, 다음 방법으로 파일을 USB 메모리에 넣으십시오. 이 방식의 한 가지 장점은, (USB 메모리 용량이 충분히 크다면) 전체 CD의 ISO 이미지를 복사할 수도 있다는 점입니다.

4.3.2.1. USB 메모리 파티션 나누기

다음은 USB 메모리에서 전체 장치를 사용하지 않고, 첫번째 파티션을 사용하는 방법입니다.

참고

Since most USB sticks come pre-configured with a single FAT16 partition, you probably won't have to repartition or reformat the stick. If you have to do that anyway, use cfdisk or any other partitioning tool to create a FAT16 partition[5], and then create the filesystem using:

# mkdosfs /dev/sdX1

Take care that you use the correct device name for your USB stick. The mkdosfs command is contained in the dosfstools Debian package.

USB 메모리에서 부팅한 다음 커널을 시작하려면 부트로더를 USB 메모리에 넣어야 합니다. 그 어떤 부트로더라도 (예를 들어 lilo) 동작하지만, syslinux를 사용하는 게 편리합니다. syslinux는 FAT16 파티션을 사용하고 텍스트 파일을 편집하는 것만으로 설정을 바꿀 수 있기 때문입니다. FAT 파일 시스템을 지원하는 어떤 운영 체제라도 부트로더를 설정할 때 이용할 수 있습니다.

syslinux를 USB 메모리의 FAT16 파티션에 넣으려면, syslinuxmtools 패키지를 설치하고, 다음 명령을 실행합니다:

# syslinux /dev/sdX1

다시 말하지만, 신경 써서 장치 이름을 올바르게 쓰십시오. syslinux를 실행할 때 그 파티션을 마운트하면 안 됩니다. 이 명령은 파티션에 부트 섹터를 쓰고, 부트로더 코드가 들어 있는 ldlinux.sys 파일을 만듭니다.

4.3.2.2. 설치 프로그램 이미지 추가하기

Mount the partition (mount /dev/sdX1 /mnt) and copy the following installer image files to the stick:

  • vmlinuz or linux (kernel binary)

  • initrd.gz (initial ramdisk image)

You can choose between either the regular version or the graphical version of the installer. The latter can be found in the gtk subdirectory. If you want to rename the files, please note that syslinux can only process DOS (8.3) file names.

Next you should create a syslinux.cfg configuration file, which at a bare minimum should contain the following two lines (change the name of the kernel binary to “linux” if you used a netboot image):

default vmlinuz
append initrd=initrd.gz

For the graphical installer you should add video=vesa:ywrap,mtrr vga=788 to the second line.

If you used an hd-media image, you should now copy a Debian ISO image[6] onto the stick. When you are done, unmount the USB memory stick (umount /mnt).

4.3.3. USB 메모리 부팅하기

주의

USB 메모리에서 부팅하지 못한다면, USB 메모리의 마스터 부트 레코드가 잘못됐을 수 있습니다. 바로잡으려면 mbr 패키지에서 install-mbr 명령을 사용하십시오:

# install-mbr /dev/sdX



[4] 이 경우 오류 메시지는 커널 모듈이 없다는 오류 메시지가 표시될 것입니다. CD 이미지에 들어 있는 udeb 파일의 커널 모듈 버전이 커널의 버전과 다른 경우입니다.

[5] Don't forget to set the “bootable” bootable flag.

[6] You can use either a businesscard, a netinst or a full CD image (see 4.1절. “공식 데비안 GNU/리눅스 CD-ROM 세트”). Be sure to select one that fits. Note that the “netboot mini.iso” image is not usable for this purpose.