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

Để chuẩn bị thanh USB, cần thiết hệ thống đang chạy GNU/LInux, cũng hỗ trợ khả năng USB. Bạn nên kiểm tra xem mô-đun hạt nhân vật chứa USB đã được tải (chạy lệnh modprobe usb-storage), cũng cố gắng tìm biết thanh USB đã được ánh xạ tới thiết bị SCSI nào (trong thí dụ này là thiết bị /dev/sda). Để ghi vào thanh USB, rất có thể là bạn sẽ phải tắt nút chống lại ghi của nó.

Ghi chú rằng thanh USB nên có khả năng ít nhất 256 MB (còn có thể tạo thiết lập nhỏ hơn nếu bạn theo Phần 4.3.2, “Sao chép tập tin một cách dẻo”).

4.3.1. Sao chép tập tin một cách dễ dàng

Có một tập tin toàn bộ hd-media/boot.img.gz chứa mọi tập tin cài đặt (gồm hạt nhân) cũng như SYSLINUX và tập tin cấu hình của nó. Bạn chỉ cần phải giải nén nó trực tiếp vào thanh USB:

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

Cảnh báo

Phương pháp này sẽ hủy mọi thứ đã có trên thiết bị đó. Hãy kiểm tra xem bạn dùng tên thiết bị đúng của thanh USB đó.

Sau đó, hãy gắn kết thanh USB (dùng lệnh mount /dev/sda /mnt), mà lúc bây giờ chứa một hệ thống tập tin kiểu FAT , rồi sao chép một ảnh ISO kiểu cài đặt qua mạng (netinst) hay thẻ kinh doanh (businesscard) vào nó. Hãy ghi chú rằng tên tập tin phải kết thúc bằng .iso. Bỏ lắp thanh USB (umount /mnt): hoàn tất.

4.3.2. Sao chép tập tin một cách dẻo

Nếu bạn thích tính chất dẻo hơn, hoặc chỉ muốn biết có gì xảy ra, bạn nên sử dụng phương pháp theo đây để sao chép những tập tin vào thanh USB.

4.3.2.1. Phân vùng thanh USB trên AMD64

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ú

Vì phần lớn thanh USB có một phân vùng FAT16 riêng lẻ được cấu hình sẵn, rất có thể là bạn sẽ không cần phải phân vùng lại hay định dạng lại thanh đó. Nếu bạn vẫn còn cần phải làm như thế, hãy dùng tiện ích cfdisk hay công cụ phân vùng khác nào để tạo một phân vùng kiểu FAT16, rồi tạo hệ thống tập tin bằng lệnh:

# mkdosfs /dev/sda1

Hãy cẩn thận, dùng tên thiết bị đúng cho thanh USB. Chức năng mkdosfs nằm trong gói Debian dosfstools.

Để 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ộ tải khởi động trên thanh đó. Mặc dù bất kỳ bộ tải khởi động nào (v.d. LILO) nên hoạt động được, tiện là dùng SYSLINUX, vì nó sử dụng phân vùng kiểu FAT16 và có thể được cấu hình lại bằng cách chỉ hiệu chỉnh một tập tin văn bản. Bất kỳ hệ điều hành nào hỗ trợ hệ thống tập tin FAT có thể được dùng để thay đổi cấu hình của bộ tải khởi động.

Để chèn SYSLINUX vào phân vùng kiểu FAT16 trên thanh USB, hãy cài đặt hai gói syslinuxmtools vào hệ thống, rồi chạy lệnh:

# syslinux /dev/sda1

Lần nữa, quan trọng là bạn nhập tên thiết bị đúng. Hãy kiểm tra xem phân vùng không được gắn kết khi bạn khởi chạy SYSLINUX. Thủ tục này ghi một rãnh ghi khởi động vào phân vùng đó và tạo tập tin ldlinux.sys mà chứa mã của bộ tải khởi động.

Hãy gắn kết phân vùng đó (dùng lệnh mount /dev/sda1 /mnt) rồi sao chép những tập tin theo đây từ kho Debian sang thanh USB:

  • vmlinuz (tập tin nhị phân của hạt nhân)

  • initrd.gz (ảnh đĩa RAM đầu tiên)

  • syslinux.cfg (tập tin cấu hình SYSLINUX)

  • Những mô-đun hạt nhân tùy chọn

Nếu bạn muốn thay đổi tên của tập tin nào trong nhóm này, hãy ghi chú rằng SYSLINUX có thể xử lý chỉ tên tập tin dạng DOS (8.3).

Tập tin cấu hình syslinux.cfg nên chứa hai dòng này:

default vmlinuz
append initrd=initrd.gz
[mặc định vmlinux
phụ thêm initrd=initrd.gz]

4.3.3. Thêm ảnh ISO

Trình cài đặt sẽ quét thanh đó tìm ảnh ISO kiểu Debian là nguồn dữ liệu thêm. Như thế thì bước kế tiếp là sao chép một ảnh ISO Debian (kiểu thẻ kinh doanh [businesscard], kiểu qua mạng [netinst] hay ngay cả ảnh CD đầy đủ) vào thanh USB có đủ sức chứa. Tên tập tin của ảnh này phải kết thúc bằng .iso.

Nếu bạn muốn cài đặt qua mạng, không sử dụng ảnh ISO, hãy bỏ qua bước trước. Hơn nữa, bạn cần phải sử dụng đĩa RAM đầu tiên từ thư mục netboot thay cho điều nằm trong hd-media, vì hd-media/initrd.gz không có khả năng hỗ trợ chạy mạng.

Khi bạn làm xong, hãy tháo gắn kết thanh USB (dùng lệnh umount /mnt) rồi bật nút chống lại ghi của nó.

4.3.4. Khởi động thanh USB

Cảnh báo

Nếu hệ thống không khởi động được từ thanh USB, có lẽ thanh đó chứa một mục ghi khởi động chủ (Master Boot Record: MBR) không hợp lệ. Để khắc phục nó, dùng chức năng install-mbr của gói mbr:

# install-mbr /dev/sda