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

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

주의

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

4.3.1. 하이브리드 CD/DVD 이미지를 사용해 USB 메모리 준비하기

데비안 CD/DVD 이미지는 이제 USB 메모리에 직접 쓸 수도 있습니다. 그렇게 부팅 가능 USB 메모리를 쉽게 만들 수 있습니다. USB 메모리에 들어가는 CD 이미지나 DVD 이미지를 하나 고르십시오. CD/DVD 이미지를 구하는 방법은 4.1절. “공식 데비안 GNU/리눅스 GNU/Linux CD-ROM 세트” 참고.

아주 작은 USB 메모리의 경우 (수 메가바이트 정도 뿐인 경우) mini.iso 이미지를 netboot 디렉터리에서 (4.2.1절. “설치 이미지를 찾을 위치”에서 언급된 위치에서) 다운로드할 수 있습니다. [6]

CD 이미지나 DVD 이미지를 USB 메모리에 직접, 현재 내용을 덮어 쓰면서 써야 합니다. 예를 들어 기존 GNU/리눅스 시스템을 사용하는 경우 CD나 DVD 이미지를 다음과 같이 USB 메모리에 쓸 수 있습니다. 단, USB 메모리의 마운트는 해제한 상태여야 합니다:

# cp debian.iso /dev/sdX
# sync

중요

CD 이미지나 DVD 이미지를 USB에 쓰는 것만으로 대부분의 경우 동작합니다. 이 외에 다른 방법은 더 복잡하고, 특별한 경우 아니면 필요가 없습니다.

4.3.2. 수동으로 USB 메모리에 파일 복사하기

다른 방법은 수동으로 설치 파일 및 CD 이미지를 복사하는 방법입니다. 단 USB 메모리는 크기가 최소 1GB는 되어야 합니다. (4.3.3절. “수동으로 USB 메모리에 파일 복사하기 — 유연한 방법”에 쓰여 있는 대로 하면 더 작아도 가능합니다.)

syslinux나 그 설정 파일과 함께 모든 설치 프로그램 파일(커널 포함)이 들어간 hd-media/boot.img.gz라는 올인원 파일이 있습니다.

이 방식은 편리하기는 하지만 한 가지 큰 단점이 있습니다. USB 메모리 용량이 아무리 크더라도 장치의 논리 크기가 1GB까지 밖에 안 됩니다. USB 메모리의 파티션을 나눠서 새 파일 시스템을 만들어야 다른 용도로 사용할 수 있습니다.

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

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

그 후, FAT 파일 시스템 USB 메모리를 마운트 (mount/dev/sdX/mnt), 거기 데비안 GNU/리눅스 ISO 이미지를 (netinst, businesscard, 전체 이미지 중 하나) 복사합니다. USB 메모리를 마운트 해제하면 (umount/mnt) 끝납니다.

4.3.3. 수동으로 USB 메모리에 파일 복사하기 — 유연한 방법

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

4.3.3.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[7], install an MBR using:

# install-mbr /dev/sdX

The install-mbr command is contained in the mbr 데비안 GNU/리눅스 package. 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 데비안 GNU/리눅스 package.

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

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

# syslinux /dev/sdX1

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

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

이 파티션을 마운트하고 (mount /dev/sdX1 /mnt) 다음 설치 이미지 파일을 USB 메모리로 복사하십시오:

  • vmlinuz 또는 linux (커널 바이너리)

  • initrd.gz (초기화 RAM 디스크 이미지)

설치 프로그램은 일반 버전과 그래픽 버전을 선택할 수 있습니다. 후자는 gtk 하위 디렉터리에 있습니다. 파일 이름을 변경하고 싶다면, syslinux는 DOS(8.3) 파일 이름만 처리할 수 없음에 주의하십시오.

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 vga=788 to the second line. Other parameters can be appended as desired.

To enable the boot prompt to permit further parameter appending, add a prompt 1 line.

hd-media 이미지를 사용하는 경우 여기에서 데비안 GNU/리눅스 ISO 이미지 중 하나를[8] USB 메모리에 복사합니다. 완료되면 USB 메모리 마운트를 해제하십시오 (umount /mnt).



[6] mini.iso 에 펌웨어를 추가하려면 방법이 있습니다. 먼저 mini.iso 이미지를 USB 메모리에 씁니다. 그리고 필요한 펌웨어 파일을 구하십시오.이제 USB스틱을 분리하고 다시 연결하면, 파티션 두 개가 표시되야 합니다. 두 파티션 중 두 번째 파티션을 마운트하고, 여기에 펌웨어를 풀어 넣어야합니다.

# mount /dev/sdX2 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount

[7] Don't forget to set the bootable bootable flag.

[8] businesscard, netinst 전체 CD 이미지 중 하나를 사용할 수 있습니다 (4.1절. “공식 데비안 GNU/리눅스 GNU/Linux CD-ROM 세트” 참조). 반드시 적합한 것을 선택하십시오. netbootmini.iso 이미지는 이 용도에 사용할 수 없으니 주의하십시오.