В июне 2020 на Raspberry pi4 вышло обновление загрузчика, позволяющее нативно грузиться с USB. Без всяких там костылей и манипуляций с картами памяти. Но, загрузчик нужно обновить. Нам понадобится пустая карта памяти и немного времени.
В этой статье рассмотрим:
Установку Ubuntu server 20.10 на USB SSD
Фикс с медленной работой USB 3.0
Что делать, если wi-fi не подключается при загрузке с USB диска.
Подключаем карту памяти к компу. Устанавливаем raspberipi imagersudo apt install rpi-imager
Запускаем imager и устанавливаем на карту памяти Ubuntu 20.10. Заходим в раздел boot на карте памяти и редактируем файл network-config Раскоментируем строчки связанными с wi-fi и впишем свои данные.
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"ssid":
password: "password"
Отмонтируем карту памяти и вставим в Raspberry pi, запустим устройство, ждем минуту другую.
Заходим на роутер в раздел DHCP клиентов. И ищем там новое устройство. Запоминаем ip адрес и заходим по ssh
ssh ubuntu@192.168.0.10
Пароль: ubuntu
Сразу после подключения необходимо проиндексировать репозиторий и установить необходимое.
sudo apt update
sudo apt install rpi-eeprom
Распакуем текущую конфигурацию загрузчика в файл
sudo vcgencmd bootloader_config > bootconf.txt
Нам необходимо изменить параметр BOOT_ORDERsed -i -e '/^BOOT_ORDER=/ s/=.*$/=0xf41/' bootconf.txt
Сгенерируем копию загрузчика с изменениямиrpi-eeprom-config --out pieeprom-new.bin --config bootconf.txt /lib/firmware/raspberrypi/bootloader/critical/pieeprom-2020-09-03.bin
Говорим системе перепрошить загрузчик при следующем стартеsudo rpi-eeprom-update -d -f ./pieeprom-new.bin
и перезагружаем устройствоsudo reboot
После полной загрузки устройства, выключаем питание и достаем карту памяти. Теперь можно установить систему на SSD диск, так же с помощью imager.
Так же поправим файл network-config.
Есть еще решение исправляющее медленную работу через USB 3.0
В кратце: нам нужно узнать idVendor и idProduct нашего SSD диска. Для этого вводим в терминалеsudo lsusb
Видим примерно такой вывод:Bus 002 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Нас интересуют вот это: 152d:0578
Затем открываем файл /boot/firmware/cmdline.txt
и в самое начало имеющейся строки добавляем:usb-storage.quirks=152d:0578:u
Строка теперь выглядит примерно так:usb-storage.quirks=152d:0578:u dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc quiet splash
Сохраняем файл.
Подключаем SSD к raspberry и запускаем.
Возможно запуск пройдет гладко и ваше устройство сразу подключится к вашей wi-fi сети, как это было при запуске с карты памяти. Но в моем случае wi-fi не подключается при загрузке с USB диска. Подключаем raspberry проводом к роутеру и заходим по ssh
Решение следующее:
0. Необходимо убедиться что wi-fi определяется устройством. Для этого вводим:lshw -C network
Если в выводе у вас два интерфейса, то все ок, переходим дальше. Если интерфейс один, то надо искать проблему в другом месте. Самая распространенная причина - нехватка питания. Попробуйте БП на 2-3 ампера.
1. В конец /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
допишем:
2. В network: {config: disabled}
после строчки:/etc/netplan/50-cloud-init.yaml
допишем: version: 2
Обратите внимание, что файл в стиле yaml, вначале строк не табуляция, а четыре пробела на каждый уровень вложенности. Сохраним файл
renderer: networkd
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"Ваш SSID":
password: "пароль"
3. Выполним:
sudo netplan generate
sudo netplan apply
reboot
Комментариев нет:
Отправить комментарий