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

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

Bây giờ ảnh CD và DVD của Debian có thể được ghi thẳng vào thanh USB, đó là cách rất dễ để tạo thanh USB khởi động máy được. Chỉ cần chọn ảnh CD hay DVD nào vừa với thanh USB của bạn. Hãy xem Phần 4.1, “Official Debian GNU/Linux CD/DVD-ROM Sets” để lấy về một ảnh CD hay DVD.

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”).

Ảnh CD hay DVD mà bạn chọn cần được ghi trực tiếp vào thanh USB, ghi đè lên nội dung hiện có của nó. Ví dụ, khi sử dụng một hệ thống GNU/Linux đang có, tập tin ảnh CD hay DVD đó có thể được ghi vào thanh USB bằng cách sau, sau khi bạn chắc chắn rằng thanh đó đã được tháo gắn kết:

# cp debian.iso /dev/sdX
# sync

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 /path/to/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

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) to it. Unmount the stick (umount /mnt) and you are done.

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ú

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], 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[6] onto the stick. When you are done, unmount the USB memory stick (umount /mnt).



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

[6] 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.