4.3. Chuẩn bị tập tin để khởi động thanh bộ nhớ USB

Để chuẩn bị thanh USB, bạn cần một hệ thống đang chạy GNU/Linux và hỗ trợ USB. Dùng hệ thống Linux hiện thời, thanh USB nên được tự động nhận ra khi bạn nạp nó vào. Không thì bạn nên kiểm tra lại mô-đun usb-storage đã được nạp chưa. Khi thanh USB được nạp, nó sẽ được ánh xạ tới một thiết bị tên /dev/sdX, mà X là một chữ trong phạm vi ASCII a-z. Bạn nên có khả năng thấy thiết bị đích bằng cách chạy lệnh dmesg sau khi nạp vào. Để ghi vào thanh đó, có lẽ bạn cần phải tắt cái chuyển bảo vệ chống ghi của nó.

[Cảnh báo] Cảnh báo

GHI CHÚ : các thủ tục diễn tả trong phần này sẽ hủy bất cứ dữ liệu nào vẫn còn nằm trên thiết bị đó. Kiểm tra rất cẩn thận bạn đang sử dụng tên thiết bị đúng cho thanh USB. Nếu bạn sử dụng thiết bị không đúng, kết quả có thể là tất cả các thông tin nằm trên (ví dụ) một đĩa cứng bị mất hoàn toàn.

4.3.1. Chuẩn bị một thanh USB bằng ảnh CD lai hay DVD

Debian CD and DVD images can now be written directly to a USB stick, which is a very easy way to make a bootable USB stick. Simply choose a CD or DVD image (such as the netinst, CD-1, DVD-1, or netboot) that will fit on your USB stick. See Phần 4.1, “Official Debian GNU/Linux CD/DVD-ROM Sets” to get a CD or DVD image.

Một cách khác, đối với thanh USB quá nhỏ, chỉ có vài megabyte, bạn có thể tải về ảnh mini.iso từ thư mục netboot (tại vị trí được đề cập đến trong Phần 4.2.1, “Tìm ảnh cài đặt ở đâu”).

The CD or DVD image you choose should be written directly to the USB stick, overwriting its current contents. For example, when using an existing GNU/Linux system, the CD or DVD image file can be written to a USB stick as follows, after having made sure that the stick is unmounted:

# cp debian.iso /dev/sdX
# sync

The win32diskimager utility can be used under other operating systems to copy the image.

[Quan trọng] Quan trọng

The image must be written to the whole-disk device and not a partition, e.g. /dev/sdb and not /dev/sdb1. Do not use tools like unetbootin which alter the image.

[Quan trọng] Quan trọng

Việc ghi ảnh CD hay DVD vào USB một cách đơn giản như vậy sẽ áp dụng tốt cho hầu hết người dùng. Các tùy chọn khác sau đây thì phức tạp hơn, chủ yếu cho những người có nhu cầu đặc biệt.

The hybrid image on the stick does not occupy all the storage space, so it may be worth considering using the free space to hold firmware files or packages or any other files of your choice. This could be useful if you have only one stick or just want to keep everything you need on one device.

Create a second, FAT partition on the stick, mount the partition and copy or unpack the firmware onto it. For example:

# mount /dev/sdX2 /mnt
# cd /mnt
# tar zxvf /đường/dẫn/đến/firmware.tar.gz
# cd /
# umount /mnt

You might have written the mini.iso to the USB stick. In this case 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. Chép thủ công các tập tin vào thanh USB

Một cách khác để thiết lập thanh USB của bạn là chép thủ công các tập tin của trình cài đặt, cùng với ảnh CD. Lưu ý rằng thanh USB nên có kích thước ít nhất 1 GB (có thể tạo thiết lập nhỏ hơn nếu bạn theo Phần 4.3.3, “Chép thủ công các tập tin vào thanh USB — theo cách uyển chuyển”).

Có một tập tin toàn bộ hd-media/boot.img.gz chứa tất cả các tập tin cài đặt (gồm có hạt nhân) cũng như syslinux và tập tin cấu hình của nó.

Lưu ý rằng, dù tiện lợi, phương pháp này vẫn có một nhược điểm lớn: kích cỡ luận lý của khối tin sẽ bị hạn chế thành 1 GB, ngay cả khi thanh USB có dung lượng lớn hơn. Bạn sẽ phải phân vùng lại thanh USB và tạo hệ thống tập tin mới để phục hồi lại dung lượng đầy đủ nếu bạn muốn sử dụng nó cho mục đích khác.

Để sử dụng ảnh này, chỉ cần giải nén nó trực tiếp vào thanh USB:

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

Sau đó, gắn kết thanh USB (mount /dev/sdX /mnt), cái đang có một hệ thống tập tin FAT , và sao chép vào nó một ảnh ISO Debian (cài đặt qua mạng (netinst), hay nguyên đĩa CD). Tháo gắn kết thanh USB (umount /mnt) và bạn đã làm xong.

4.3.3. Chép thủ công các tập tin vào thanh USB — theo cách uyển chuyển

If you like more flexibility or just want to know what's going on, you should use the following method to put the files on your stick. One advantage of using this method is that — if the capacity of your USB stick is large enough — you have the option of copying any ISO image, even a DVD image, to it.

4.3.3.1. Phân vùng thanh USB

Tiết đoạn này diễn tả phương pháp thiết lập thanh USB để dùng chỉ phân vùng thứ nhất, thay vì toàn bộ thiết bị.

[Ghi chú] Ghi chú

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

# install-mbr /dev/sdX

The install-mbr command is contained in the mbr Debian 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 Debian package.

Để khởi chạy hạt nhân sau khi khởi động từ thanh USB, bạn cần phải để một bộ nạp khởi động (bootloader) trên thanh đó. Dù bất cứ bộ nạp khởi động nào (v.d. lilo) nên có tác động, tiện ích là sử dụng syslinux, vì nó dùng một phân vùng FAT16 và có thể được cấu hình lại bằng cách chỉ chỉnh sửa một tập tin văn bản. Bất cứ hệ điều hành nào hỗ trợ hệ thống tập tin FAT thì có thể được sử dụng để sửa đổi cấu hình của bộ nạp khởi động.

Để chèn syslinux vào phiên bản FAT16 partition trên thanh USB, cài đặt vào hệ thống hai gói syslinuxmtools, và chạy câu lệnh này:

# syslinux /dev/sdX1

Lại kiểm tra xem bạn đang sử dụng tên thiết bị đúng. Khi khởi chạy syslinux, phiên bản phải chưa được nạp. Thủ tục này ghi vào phiên bản một rãnh ghi khởi động, và tạo tập tin ldlinux.sys mà chứa mã của bộ nạp khởi động.

4.3.3.2. Thêm ảnh cài đặt

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 text-based 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 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.

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



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

[4] You can use either a netinst or a full CD image (see Phần 4.1, “Official Debian GNU/Linux CD/DVD-ROM Sets”). Be sure to select one that fits. Note that the netboot mini.iso image is not usable for this purpose.