4.3. USB メモリでの起動用ファイルの準備

To prepare the USB stick, we recommend to use a system where GNU/Linux is already running and where USB is supported. With current GNU/Linux systems the USB stick should be automatically recognized when you insert it. If it is not you should check that the usb-storage kernel module is loaded. When the USB stick is inserted, it will be mapped to a device named /dev/sdX, where the X is a letter in the range a-z. You should be able to see to which device the USB stick was mapped by running the command lsblk before and after inserting it. (The output of dmesg (as root) is another possible method for that.) To write to your stick, you may have to turn off its write protection switch.

[警告] 警告

The procedures described in this section will destroy anything already on the device! Make very sure that you use the correct device name for your USB stick. If you use the wrong device the result could be that all information on, for example, a hard disk is lost.

4.3.1. ハイブリッド CD/DVD イメージを使った USB メモリの準備

Debian installation images for this architecture are created using the isohybrid technology; that means they can be written directly to a USB stick, which is a very easy way to make an installation media. Simply choose an image (such as the netinst, CD or DVD-1) that will fit on your USB stick. See 「公式 Debian GNU/Linux インストールイメージ」 to get an installation image.

別の方法として、とても小さな、サイズが数メガしかない USB メモリ用に、netboot ディレクトリから mini.iso をダウンロードできます (場所については 「どこでインストールファイルを探すか」 に記載があります)。

選択したインストールイメージは、既存の内容を上書きして、直接 USB メモリに書き込む必要があります。例えば、既存の GNU/Linux システムを使っている場合、以下のようにしてイメージファイルを USB メモリに書き込めます。完了したら、確実にアンマウントしてください。

# cp debian.iso /dev/sdX
# sync

他のオペレーティングシステムでのやり方については、Debian CD FAQ で確認できます。

[重要] 重要

イメージはパーティションではなくディスクデバイス全体を指定する必要があります。例えば /dev/sdb1 ではなく /dev/sdb となります。イメージの書き換える unetbootin のようなツールは使わないでください。

[重要] 重要

ほとんどのユーザは、インストールイメージを単にUSBメモリに書き込むだけでうまく行くでしょう。下記の選択肢はもっと複雑なので、主に特殊なニーズがあるユーザ向けです。

USB メモリに配置したハイブリッドイメージは、ストレージの領域すべてを専有するわけではありません。そのため、ファームウェアファイルやパッケージ、その他選んだファイルを保持するために、空き領域を使用するのを、検討する価値があるかもしれません。あなたが、ひとつしか USB メモリを持っていないか、ひとつのデバイスにすべて格納する必要があるときに便利です。

To do so, use cfdisk or any other partitioning tool to create an additional partition on the stick. Then create a (FAT) filesystem on the partition, mount it and copy or unpack the firmware onto it, for example with:

# mkdosfs -n FIRMWARE /dev/sdX3
# mount /dev/sdX3 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

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

[注記] 注記

If you have chosen the mini.iso to be written to the USB stick, the second partition doesn't have to be created, as - very nicely - it will already be present. Unplugging and replugging the USB stick should make the two partitions visible.

4.3.2. USB メモリへのファイルの手動コピー

Prior to isohybrid technology being used for Debian installation images, the methods documented in the chapters below were used to prepare media for booting from USB devices. These have been superseded by the technique in 「ハイブリッド CD/DVD イメージを使った USB メモリの準備」, but have been left here for educational and historical purposes and in case they are useful to some user.

An alternative to the method described in 「ハイブリッド CD/DVD イメージを使った USB メモリの準備」 is to manually copy the installer files, and also an installation image to the stick. Note that the USB stick should be at least 1 GB in size (smaller setups are possible using the files from netboot, following 「USB メモリへのファイルの手動コピー — 柔軟な方法」).

There is an all-in-one file hd-media/boot.img.gz which contains all the installer files (including the kernel) as well as syslinux and its configuration file.

[注記] 注記

これは便利ですが、この方法にはひとつの大きな欠点があることに注意してください。USB メモリの容量がもっと大きかったとしても、デバイスの論理サイズが 1 GB に制限されます。他の用途にも使用したい場合は、全容量を確保し直すため、USB メモリをパーティション分割し直し、新しいファイルシステムを作成する必要があります。

Simply extract this image directly to your USB stick:

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

After that, mount the USB memory stick (mount /dev/sdX /mnt), which will now have a FAT filesystem on it, and copy a Debian ISO image (netinst or full CD; see 「公式 Debian GNU/Linux インストールイメージ」) to it. Unmount the stick (umount /mnt) and you are done.

4.3.3. USB メモリへのファイルの手動コピー — 柔軟な方法

もっと柔軟なものがよかったり、何が起きているか知りたいのなら、以下に説明する USB メモリにファイルを置く方法を使用すべきです。この方法の利点は、(USB メモリの容量が十分大きければ) 任意の ISO イメージ、DVD イメージをコピーするという選択肢までもがあるということです。

4.3.3.1. Partitioning and adding a boot loader

デバイス全体ではなく、USB メモリの最初のパーティションを セットアップする方法を示します。

USB メモリからブートしてカーネルを起動するには、USB メモリにブートローダを配置します。どのブートローダも動作しますが、FAT16 パーティションを使用し、テキストファイルを編集するだけで再設定できるので、syslinux を使用するのが便利です。FAT ファイルシステムをサポートするオペレーティングシステムなら、ブートローダの設定を変更するのに利用できます。

First, you need to install the syslinux and mtools packages on your system.

[注記] 注記

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 now[3], and then install an MBR using:

# cat /usr/lib/syslinux/mbr/mbr.bin 
>/dev/sdX

Now 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.

Having a correctly partitioned USB stick (now), you need to put syslinux on the FAT16 partition with:

# syslinux /dev/sdX1

Again, take care that you use the correct device name. The partition must not be mounted when starting syslinux. This procedure writes a boot sector to the partition and creates the file ldlinux.sys which contains the boot loader code.

4.3.3.2. Adding the installer files

There are two different installation variants to choose here: The hd-media variant needs an installation ISO file on the stick, to load installer modules and the base system from. The netboot installer however will load all that from a Debian mirror.

According to your choice, you have to download some installer files from the hd-media or netboot subdirectory of debian/dists/bullseye/main/installer-amd64/current/images/ on any Debian mirror:

  • vmlinuz or linux (kernel binary)

  • initrd.gz (initial ramdisk image)

You can choose between either the text-based version of the installer (the files can be found directly in hd-media or netboot) or the graphical version (look in the respective gtk subdirectories).

Then mount the partition (mount /dev/sdX1 /mnt) and copy the downloaded files to the root directory of the stick.

Next you should create a text file named syslinux.cfg in the root directory of the stick as configuration file for syslinux, which at a bare minimum should contain the following line:

default vmlinuz initrd=initrd.gz

Change the name of the kernel binary to linux if you used files from netboot.

For the graphical installer (from gtk) you should add vga=788 at the end of the line. Other parameters can be appended as desired.

さらにパラメータを追加するために、ブートプロンプトを有効にするには、prompt 1 の行を追加してください。

If you used files from hd-media, you should now copy the ISO file of a Debian installation image onto the stick. (For the netboot variant this is not needed.)

You can use either a netinst or a full CD/DVD image (see 「公式 Debian GNU/Linux インストールイメージ」). Be sure to select one that fits on your stick. Note that the netboot mini.iso image is not usable for this purpose.

When you are done, unmount the USB memory stick (umount /mnt).



[3] Don't forget to activate the bootable flag.