Я пытаюсь загрузить свой RPI 4 с USB без использования SD открытка. Я могу загрузить ОС Raspberry после обновления до последней версии прошивки / загрузчика, но не могу понять, что нужно сделать, чтобы загрузить Ubuntu. Любая помощь будет оценена.
Я не уверен, работает ли обычная «простая» Ubuntu на RaspberryPi 4. Я предполагаю, что вам понадобится специальная версия arm
, которая также оптимизирована для Pi. Согласно официальной странице загрузок Raspberry Pi , поддерживаются Ubuntu MATE, Ubuntu Core и Ubuntu Server. Возможно, вы захотите попробовать одно из этих изображений!
Чтобы загрузить Ubuntu Mate 20.04.1 beta 2 с USB на Raspberry Pi 4 с новым загрузчиком, я перешел по этой ссылке: RPI4 Прямая загрузка через USB
Запишите на USB последний образ Ubuntu Mate, например, ubuntu-mate-20.04.1-beta2-desktop-arm64+raspi. img.xz
Подключите USB к этому ПК с Ubuntu, появятся два раздела (с этого момента your-name относится к вашему конкретному пути):
/media/your-name / системная загрузка
/media/ваше-имя/доступно для записи
Выполните следующие команды:
cd /media/ваше-имя/система-загрузка
zcat vmlinuz > vmlinux
Изменить /media/your-name/system-boot/config.txt раздел [pi] на:
[pi4]
max_framebuffers=2
dtoverlay = vc4-fkms-v3d
boot_delay
ядро = вмлинукс
initramfs initrd.img последующее ядро
Создайте /media/your-name/writable/boot/firmware/auto_decompress_kernel и сделайте исполняемый файл sudo chmod +x auto_decompress_kernel
:
#!/bin/bash -e
#Set Variables
BTPATH=/boot/firmware
CKPATH=$BTPATH/vmlinuz
DKPATH=$BTPATH/vmlinux
#Check if compression needs to be done.
if [ -e $BTPATH/check.md5 ]; then
if md5sum --status --ignore-missing -c $BTPATH/check.md5; then
echo -e "\e[32mFiles have not changed, Decompression not needed\e[0m"
exit 0
else echo -e "\e[31mHash failed, kernel will be compressed\e[0m"
fi
fi
#Backup the old decompressed kernel
mv $DKPATH $DKPATH.bak
if [ ! $? == 0 ]; then
echo -e "\e[31mDECOMPRESSED KERNEL BACKUP FAILED!\e[0m"
exit 1
else echo -e "\e[32mDecompressed kernel backup was successful\e[0m"
fi
#Decompress the new kernel
echo "Decompressing kernel: "$CKPATH".............."
zcat $CKPATH > $DKPATH
if [ ! $? == 0 ]; then
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 checking
md5sum $CKPATH $DKPATH > $BTPATH/check.md5
if [ ! $? == 0 ]; then
echo -e "\e[31mMD5 GENERATION FAILED!\e[0m"
else echo -e "\e[32mMD5 generated Succesfully\e[0m"
fi
#Exit
exit 0
sudo chmod +x 999_decompress_rpi_kernel
:DPkg::Post-Invoke {"/bin/bash /boot/firmware/auto_decompress_kernel"; };