Mục lục:

Raspberry Pi 4 Ubuntu USB Boot (Không có thẻ SD): 9 bước
Raspberry Pi 4 Ubuntu USB Boot (Không có thẻ SD): 9 bước

Video: Raspberry Pi 4 Ubuntu USB Boot (Không có thẻ SD): 9 bước

Video: Raspberry Pi 4 Ubuntu USB Boot (Không có thẻ SD): 9 bước
Video: Boot from USB or SSD Pi 4 with No SD Card Raspberry Pi [+WORKAROUND+] 2024, Tháng mười một
Anonim
Raspberry Pi 4 Ubuntu USB Boot (Không có thẻ SD)
Raspberry Pi 4 Ubuntu USB Boot (Không có thẻ SD)

Dưới đây là các hướng dẫn và sẽ hướng dẫn bạn cách khởi động Raspberry Pi 4 mà không cần thẻ SD.

Nếu bạn không muốn làm theo các bước, đã có hình ảnh dựng sẵn trên bài viết gốc. Chỉ cần flash những hình ảnh này vào ổ USB và bạn có thể sử dụng (miễn là bạn có EEPROM hỗ trợ khởi động USB - bước 3)

Quân nhu

Raspberry Pi 4

USB SSD hoặc Ổ đĩa flash

Bước 1: Tải xuống Ubuntu cho Raspberry Pi từ trang web Ubuntu

Tải xuống hình ảnh Ubuntu cho raspberry pi 4 từ trang web chính thức của Ubuntu.

ubuntu.com/download/raspberry-pi

Bước 2: Ghi hình ảnh vào đĩa USB

Flash hình ảnh vào ổ USB. Đây có thể là thẻ USB hoặc ổ SSD USB. Tôi khuyên bạn nên sử dụng Balena Etcher trên Windows và MacOS. Nếu bạn đang sử dụng Ubuntu, Image Writer tích hợp sẵn sẽ hoạt động tốt.

www.balena.io/etcher/

Bước 3: Cập nhật Raspberry Pi EEPROM

Đối với bước này, có một số bước phụ. Nếu bạn đã cập nhật Raspberry Pi EEPROM lên bản phát hành "ổn định", thì bạn có thể bỏ qua bước này.

Đầu tiên, bạn phải ghi hình ảnh RaspberryPiOS (https://www.raspberrypi.org/downloads/raspberry-pi-os/) vào thẻ SD.

Thứ hai, khởi động Raspberry Pi và chỉnh sửa tệp / etc / default / rpi-eeprom-update bằng cách nhập

sudo nano / etc / default / rpi-eeprom-update

và thay đổi mục nhập "FIRMWARE_RELEASE_STATUS" từ quan trọng thành ổn định.

Thứ ba, chạy

sudo rpi-eeprom-update -a

từ thiết bị đầu cuối và cho phép quá trình cập nhật kết thúc.

Xem https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md để biết thêm chi tiết nếu bạn cần chúng

Bước 4: Cập nhật chương trình cơ sở Raspberry Pi

Tải xuống các tệp phần sụn đã cập nhật từ trang web github raspberry pi (https://github.com/raspberrypi/firmware/tree/master/boot).

Sao chép tất cả các tệp *.dat và *.elf vào phân vùng khởi động Ubuntu trên trình điều khiển USB được flash với hình ảnh Ubuntu từ bước 2. (Ghi đè các tệp đã có trước đó)

Bước 5: Giải nén Kernel

Bộ nạp khởi động Raspberry Pi 4 không thể lấy hình ảnh hạt nhân đã nén. Bạn phải giải nén thủ công này trước khi khởi động lần đầu tiên.

Để thực hiện việc này trên linux, hãy mở phân vùng khởi động của USB Ubuntu và chạy

zcat vmlinuz> vmlinux

từ thiết bị đầu cuối.

Bạn có thể thực hiện việc này trên Windows bằng cách sử dụng 7-zip và giải nén tệp vmlinuz. Chỉ cần đảm bảo đổi tên tệp đã giải nén thành vmlinux.

Bước 6: Cập nhật tệp Config.txt

Tệp config.txt có các tùy chọn khởi động cho các bảng RaspberryPi khác nhau. Cập nhật thông tin cho Raspberry Pi 4. Thay thế phần cho [pi4] bằng phần sau:

[pi4] max_framebuffers = 2 dtoverlay = vc4-fkms-v3d boot_delay kernel = vmlinux initramfs initrd.img followkernel

Bước 7: Tạo tập lệnh giải nén tự động

Trong quá trình cập nhật lên Ubuntu hoặc một trong nhiều gói của nó, apt sẽ tạo một ảnh hạt nhân mới. Hình ảnh này sẽ được nén và sẽ khiến Raspberry Pi không khởi động sau khi cập nhật. Để khắc phục điều này, một tập lệnh cần được tạo để giải nén các hình ảnh hạt nhân mới sau khi cập nhật.

Tạo một tập lệnh có tên auto_decompress_kernel trong phân vùng khởi động. Điều này có thể được thực hiện với hầu hết các trình soạn thảo văn bản. Trong Linux, tôi khuyên bạn nên dùng nano hoặc Atom, trong Windows tôi khuyên bạn nên dùng Atom (Lưu ý đối với bạn là người dùng Windows sử dụng Text Edit, hãy nhớ xóa phần mở rộng tệp "TXT". Nếu không, phần mở rộng này sẽ không hoạt động). Tập lệnh phải chứa mã sau:

#! / bin / bash -e

# Đặt biến BTPATH = / boot / firmware CKPATH = $ BTPATH / vmlinuz DKPATH = $ BTPATH / vmlinux # Kiểm tra xem có cần nén không. if [-e $ BTPATH / check.md5]; sau đó nếu md5sum --status --ignore-thiếu -c $ BTPATH / check.md5; sau đó echo -e "\ e [32mFiles không thay đổi, không cần giải nén / e [0m" exit 0 else echo -e "\ e [31mHash không thành công, kernel sẽ được nén / e [0m" fi fi # Sao lưu tệp cũ đã giải nén kernel mv $ DKPATH $ DKPATH.bak nếu [! $? == 0]; then echo -e "\ e [31mDECOMPRESSED KERNEL BACKUP BỊ THẤT BẠI! / e [0m" exit 1 else echo -e "\ e [32m Sao lưu hạt nhân đã giải nén đã thành công / e [0m" fi # Giải nén hạt nhân mới echo "Giải nén hạt nhân:" $ CKPATH "………….." zcat $ CKPATH> $ DKPATH nếu [! $? == 0]; sau đó echo -e "\ e [31mKERNEL KHÔNG THÀNH CÔNG ĐỂ CHẾT! / e [0m" thoát ra 1 khác echo -e "\ e [32mKernel được giải nén thành công / e [0m" fi #Hash kernel mới để kiểm tra md5sum $ CKPATH $ DKPATH> $ BTPATH / check.md5 nếu [! $? == 0]; then echo -e "\ e [31mMD5 GENERATION FAILED! / e [0m" else echo -e "\ e [32mMD5 được tạo thành công / e [0m" fi # Exit exit 0

Bước 8: Tạo tập lệnh khác

Để tập lệnh mà chúng ta vừa tạo được gọi mỗi khi một gói được cài đặt, chúng ta cần tạo một tập lệnh khác.

Tập lệnh này cần được tạo trong hệ thống tệp Ubuntu. Nếu bạn đang thực hiện thiết lập này trên hệ thống linux, bạn có thể thực hiện phần này trước lần khởi động đầu tiên, nếu bạn đang sử dụng Windows hoặc MacOS, bạn sẽ cần thực hiện việc này sau lần khởi động đầu tiên.

Tạo tập lệnh này trong thư mục /etc/apt/apt.conf.d/ và đặt tên là 999_decompress_rpi_kernel

sudo nano /etc/apt/apt.conf.d/999_decompress_rpi_kernel

Mã phải là:

DPkg:: Post-Invoke {"/ bin / bash / boot / firmware / auto_decompress_kernel"; };

Khi điều này đã được tạo, bạn sẽ cần làm cho tập lệnh có thể thực thi được. Điều này có thể được thực hiện bằng cách sử dụng mã sau:

sudo chmod + x /etc/apt/apt.conf.d/999_decompress_rpi_kernel

Bước 9: Thưởng thức Ubuntu trên Raspberry Pi 4

Bây giờ bạn có thể khởi động Ubuntu trên ổ USB hỗ trợ.

Đề xuất: