สารบัญ:

Raspberry Pi 4 Ubuntu USB Boot (ไม่มีการ์ด SD): 9 ขั้นตอน
Raspberry Pi 4 Ubuntu USB Boot (ไม่มีการ์ด SD): 9 ขั้นตอน

วีดีโอ: Raspberry Pi 4 Ubuntu USB Boot (ไม่มีการ์ด SD): 9 ขั้นตอน

วีดีโอ: Raspberry Pi 4 Ubuntu USB Boot (ไม่มีการ์ด SD): 9 ขั้นตอน
วีดีโอ: Boot Raspberry Pi 4 USB Boot from SSD without an SD Card [September 2020 USB Boot] 2024, พฤศจิกายน
Anonim
Raspberry Pi 4 Ubuntu USB Boot (ไม่มีการ์ด SD)
Raspberry Pi 4 Ubuntu USB Boot (ไม่มีการ์ด SD)

คำแนะนำอยู่ด้านล่าง และจะแนะนำคุณเกี่ยวกับการบูต Raspberry Pi 4 โดยไม่ต้องใช้การ์ด SD

หากคุณไม่ต้องการทำตามขั้นตอน ก็มีรูปภาพที่สร้างไว้ล่วงหน้าในโพสต์ต้นฉบับ เพียงแฟลชรูปภาพเหล่านี้ไปยังไดรฟ์ USB คุณก็พร้อมแล้ว (ตราบใดที่คุณมี EEPROM ที่รองรับการบูท USB - ขั้นตอนที่ 3)

เสบียง

ราสเบอร์รี่ Pi 4

USB SSD หรือแฟลชไดรฟ์

ขั้นตอนที่ 1: ดาวน์โหลด Ubuntu สำหรับ Raspberry Pi จากเว็บไซต์ Ubuntu

ดาวน์โหลดอิมเมจ Ubuntu สำหรับ raspberry pi 4 จากเว็บไซต์ทางการของ Ubuntu

ubuntu.com/download/raspberry-pi

ขั้นตอนที่ 2: เขียนภาพไปยัง USB Disk

แฟลชรูปภาพไปยังไดรฟ์ USB นี่อาจเป็นแท่ง USB หรือ USB SSD ฉันอยากจะแนะนำให้ใช้ Balena Etcher บน Windows และ MacOS หากคุณกำลังใช้ Ubuntu Image Writer ในตัวจะทำงานได้ดี

www.balena.io/etcher/

ขั้นตอนที่ 3: อัปเดต Raspberry Pi EEPROM

สำหรับขั้นตอนนี้ มีขั้นตอนย่อยหลายขั้นตอน หากคุณได้อัปเดต Raspberry Pi EEPROM เป็นรุ่น "เสถียร" แล้ว คุณสามารถข้ามขั้นตอนนี้ได้

ก่อนอื่น คุณต้องเขียนอิมเมจ RaspberryPiOS (https://www.raspberrypi.org/downloads/raspberry-pi-os/) ลงในการ์ด SD

ประการที่สอง บูต Raspberry Pi และแก้ไขไฟล์ /etc/default/rpi-eeprom-update โดยพิมพ์

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

และเปลี่ยนรายการ "FIRMWARE_RELEASE_STATUS" จากวิกฤติเป็นเสถียร

สาม วิ่ง

sudo rpi-eeprom-update -a

จากเทอร์มินัล และอนุญาตให้การอัปเดตเสร็จสิ้น

ดู https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md สำหรับรายละเอียดเพิ่มเติมหากคุณต้องการ

ขั้นตอนที่ 4: อัปเดตเฟิร์มแวร์ Raspberry Pi

ดาวน์โหลดไฟล์เฟิร์มแวร์ที่อัปเดตจากเว็บไซต์ raspberry pi github (https://github.com/raspberrypi/firmware/tree/master/boot)

คัดลอกไฟล์ *.dat และ *.elf ทั้งหมดไปยังพาร์ติชันสำหรับเริ่มระบบของ Ubuntu บนไดรเวอร์ USB ที่แฟลชด้วยอิมเมจ Ubuntu จากขั้นตอนที่ 2 (เขียนทับไฟล์ที่เคยอยู่ที่นั่น)

ขั้นตอนที่ 5: คลายเคอร์เนล

bootloader ของ Raspberry Pi 4 ไม่สามารถใช้อิมเมจเคอร์เนลที่บีบอัดได้ คุณต้องคลายการบีบอัดด้วยตนเองก่อนบูตครั้งแรก

เมื่อต้องการทำสิ่งนี้บน linux ให้เปิดพาร์ติชั่นสำหรับบูตของ Ubuntu USB แล้วเรียกใช้

zcat vmlinuz > vmlinux

จากเทอร์มินัล

คุณสามารถทำได้บน Windows โดยใช้ 7-zip และแตกไฟล์ vmlinuz อย่าลืมเปลี่ยนชื่อไฟล์ที่แยกออกมาเป็น vmlinux

ขั้นตอนที่ 6: อัปเดตไฟล์ Config.txt

ไฟล์ config.txt มีตัวเลือกการเริ่มต้นสำหรับบอร์ด RaspberryPi ต่างๆ อัปเดตข้อมูลสำหรับ Raspberry Pi 4 แทนที่ส่วนสำหรับ [pi4] ด้วยสิ่งต่อไปนี้:

[pi4]max_framebuffers=2 dtoverlay=vc4-fkms-v3d boot_delay kernel=vmlinux initramfs initrd.img ติดตามเคอร์เนล

ขั้นตอนที่ 7: สร้างสคริปต์คลายการบีบอัดอัตโนมัติ

ระหว่างการอัปเดต Ubuntu หรือหนึ่งในแพ็คเกจจำนวนมาก apt จะสร้างเคอร์เนลอิมเมจใหม่ อิมเมจนี้จะถูกบีบอัด และจะทำให้ Raspberry Pi ไม่สามารถบู๊ตได้หลังจากการอัพเดต ในการแก้ไขปัญหานี้ จำเป็นต้องสร้างสคริปต์เพื่อขยายขนาดอิมเมจเคอร์เนลใหม่หลังการอัปเดต

สร้างสคริปต์ชื่อ auto_decompress_kernel ในพาร์ติชันสำหรับเริ่มระบบ ซึ่งสามารถทำได้ด้วยโปรแกรมแก้ไขข้อความส่วนใหญ่ ใน Linux ฉันอยากจะแนะนำ nano หรือ Atom ใน Windows ฉันอยากจะแนะนำ Atom (หมายเหตุสำหรับผู้ใช้ Windows ของคุณที่ใช้ Text Edit อย่าลืมลบนามสกุลไฟล์ "TXT" ออก หากคุณไม่ทำเช่นนี้จะไม่ทำงาน) สคริปต์ควรมีรหัสต่อไปนี้:

#!/bin/bash -e

#Set Variables BTPATH=/boot/firmware CKPATH=$BTPATH/vmlinuz DKPATH=$BTPATH/vmlinux #ตรวจสอบว่าจำเป็นต้องทำการบีบอัดหรือไม่ ถ้า [-e $BTPATH/check.md5]; ถ้า md5sum --status --ignore-missing -c $BTPATH/check.md5; จากนั้น echo -e "\e[32mFiles ยังไม่ได้เปลี่ยน ไม่จำเป็นต้องขยายขนาด\e[0m" ออก 0 อื่น echo -e "\e[31mHash ล้มเหลว เคอร์เนลจะถูกบีบอัด\e[0m" fi fi #สำรองข้อมูลไฟล์เก่าที่แตกแล้ว เคอร์เนล mv $DKPATH $DKPATH.bak ถ้า [! $? == 0]; จากนั้น echo -e "\e[31mDECOMPRESSED KERNEL BACKUP FAILED!\e[0m" exit 1 else echo -e "\e[32mDecompressed kernel backup wasประสบความสำเร็จ\e[0m" fi #Decompress the new kernel echo "Decompressing kernel: " $CKPATH"………….." zcat $CKPATH > $DKPATH ถ้า [! $? == 0]; จากนั้น echo -e "\e[31mKERNEL FAILED TO DECOMPRESS!\e[0m" exit 1 else echo -e "\e[32mKernel Decompressed Succesfully\e[0m" fi #Hash the new kernel for Check md5sum $CKPATH $DKPATH > $BTPATH/check.md5 ถ้า [! $? == 0]; จากนั้น echo -e "\e[31mMD5 GENERATION FAILED!\e[0m" else echo -e "\e[32mMD5 สร้างขึ้นสำเร็จ\e[0m" fi #Exit ทางออก 0

ขั้นตอนที่ 8: สร้างสคริปต์อื่น

เพื่อให้สคริปต์ที่เราเพิ่งสร้างขึ้นเพื่อเรียกทุกครั้งที่ติดตั้งแพ็คเกจ เราจำเป็นต้องสร้างสคริปต์อื่น

ต้องสร้างสคริปต์นี้ภายในระบบไฟล์ Ubuntu หากคุณกำลังทำการตั้งค่านี้บนระบบ linux คุณสามารถดำเนินการส่วนนี้ก่อนการบู๊ตครั้งแรก หากคุณใช้ Windows หรือ MacOS คุณจะต้องทำสิ่งนี้หลังจากการบู๊ตครั้งแรก

สร้างสคริปต์นี้ในไดเร็กทอรี /etc/apt/apt.conf.d/ และตั้งชื่อเป็น 999_decompress_rpi_kernel

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

รหัสควรเป็น:

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

เมื่อสร้างสิ่งนี้แล้ว คุณจะต้องทำให้สคริปต์ทำงานได้ สามารถทำได้โดยใช้รหัสต่อไปนี้:

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

ขั้นตอนที่ 9: เพลิดเพลินกับ Ubuntu บน Raspberry Pi 4

ตอนนี้คุณสามารถบูต Ubuntu บนไดรฟ์ที่เปิดใช้งาน USB ได้

แนะนำ: