Seeed-Studio-Wiki/docs/FAQ/reTerminal/Boot_OS_from_USB_flash_drive.md
2024-10-31 09:17:45 +08:00

3.8 KiB

description title image slug last_update
reTerminal-FAQ How to boot an OS from USB Flash Drive https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png /Boot_OS_from_USB_flash_drive
date author
6/21/2023 Seraphina

You can boot an OS from USB Flash Drive by following the steps below. Here we change the boot order to USB Boot > eMMC Boot, which means, if the USB Boot fails, it will boot from eMMC.

:::caution You will have to use Ubuntu or MacOS as host PC for this method. :::

  • Step 1. Remove the 4 rubber covers and open the reTerminal back shell unscrewing the 4 screws underneath

pir

  • Step 2. Remove the 2 screws to disassemble the heatsink and also the remaining 4 screws to take apart the entire case

pir

  • Step 3. Flip down the boot mode switch according to the below diagram

pir

  • Step 4. Open a Terminal window inside the Host PC after connecting to reTerminal and type the following to update the packages list
sudo apt update
  • Step 5. Install Git by the following command
sudo apt install git
  • Step 6. Git might produce an error if the date is not set properly. Type the following to correct this
sudo date MMDDhhmm

NOTE: Where MM is the month, DD is the date, and hh and mm are hours and minutes respectively.

  • Step 7. Clone and enter the usbboot tool repository
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
  • Step 8. Enter the following to install libusb
sudo apt install libusb-1.0-0-dev
  • Step 9. Build and install the usbboot tool
make
  • Step 10. Open the bootloader configuration file
sudo nano recovery/boot.conf
  • Step 11. Change the BOOT_ORDER field to the following
BOOT_ORDER=0xf15

Please note that the default of reTerminal is different from the cloned recovery/boot.conf. The defaults for reTerminal are as follows. Please rewrite recovery/boot.conf as necessary.

[all]
BOOT_UART=0
WAKE_ON_GPIO=0
POWER_OFF_ON_HALT=1

# Try  SD- > USB PCIe MSD -> USB 2.0 BCM XHCI -> Network ->  Loop
BOOT_ORDER=0xf2541

# Set to 0 to prevent bootloader updates from USB/Network boot
# For remote units EEPROM hardware write protection should be used.
ENABLE_SELF_UPDATE=1

NOTE: Here if USB Boot fails, it switches to eMMC boot

  • Step 12. Run the following to update the EEPROM image
cd recovery
./update-pieeprom.sh

The pieeprom.bin file is now ready to be flashed to the Compute Module 4

  • Step 13. Navigate back to the usbboot directory
cd ..
  • Step 14. Run the usbboot tool to flash the bootloader EEPROM
sudo ./rpiboot -d recovery
  • Step 15. Connect reTerminal to the PC via USB Type-C cable

Now it will take a few seconds to transfer the necessary files to the reTerminal.

  • Step 16. Turn off reTerminal, flip the Boot Mode switch back to the original position and assemble the reTerminal shell

  • Step 17. Connect a bootable USB Flash Drive with a suitable OS inside, connect to one of the USB Ports on the reTerminal and turn on reTerminal

Now you will see reTerminal booting from the connected USB Drive