Переезд с micro SD card на eMMC на Raspberry Pi4

29 января 2020, 07:00

Краткая предыстория

У меня Hassio сборка от OXOTH1K прекрасно работала на Raspberry Pi4 и micro SD карточке SanDisk Ultra 32Gb. До нее какая-то не запомнившаяся карточка на 16Gb внезапно умерла. Благо, делаю бэкапы на Google Drive великолепным аддоном.

Но всегда хочется чего-то лучшего, быстрого и надежного, поэтому я стал смотреть в сторону решений на eMMC. В итоге, была куплена на Aliexpress вот такая карта с адаптером на 32Gb.

План был следующий. Установить на eMMC Raspbian Buster Lite, а на него - оптимизированную для Raspberry Pi4 версию hass.io Затем, развернуть на нее бэкап от охотниковской сборки и наслаждаться сумасшедшей скоростью. 

Заранее скажу, что план в итоге удался на все 100% :)

Проблемы

У меня везде маки и первой проблемой стало то, что далеко не через каждый переходник SD - microSD, не через каждый card reader эта карточка eMMC виделась в MacOS. В итоге, взятый у админов на работе card reader Transcend TS-RDF8W решил эту проблему и я успешно записал на карту свежий образ Raspbian Buster Lite с официального сайта Raspberry c помощью Balena Etcher.

Вынув из малинки карточку и воткнув через адаптер eMMC карту, я включил питание и обнаружил, что загрузка не идет. Зеленый светодиод периодически мигает и даже на подключенный монитор ничего не выводится.

Решение

Решением проблемы является то, что официальный бутлоадер последней версии Raspberry Pi4 не поддерживает загрузку не только с USB, но и с eMMC. Чтобы обновить бутлоадер до бета версии с поддержкой возможности загрузки с eMMC, мне пришлось снова загрузиться со своей старой microSD карточки. 

Версию вашего бутлоадера можно посмотреть командой:

$ vcgencmd bootloader_version

Скорее всего, у вас будет стоять последняя официальная версия от 10 сентября 2019 года. Та версия, которая умеет грузиться с eMMC карты, должна быть минимум от 16 октября. 

Итак, давайте обновим бутлоадер до этой версии.

Для начала, обновим нужные пакеты:

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install rpi-eeprom

Далее, eсли открыть файл /etc/default/rpi-eeprom-update и заменить там строку

FIRMWARE_RELEASE_STATUS="critical"

на

FIRMWARE_RELEASE_STATUS="beta"

то в дальнейшем вы сможете апдейтиться системным сервисом rpi-eeprom до последних бета версий. Конечно, это опасно и чревато тем, что однажды ваша малинка не загрузится, поэтому, лучше обновлять бутлоадер вручную и выключить этот сервис командой:

$ sudo systemctl mask rpi-eeprom-update

Включить сервис назад вы можете командой:

$ sudo systemctl unmask rpi-eeprom-update

Теперь, в директории /lib/firmware/raspberrypi/bootloader/beta/ у вас есть бета версии бутлоадера:

$ ls -la /lib/firmware/raspberrypi/bootloader/beta/
total 5484
drwxr-xr-x 2 root root   4096 Jan 28 19:48 .
drwxr-xr-x 4 root root   4096 Jan 28 19:48 ..
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-09-06.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-09-10.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-09-23.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-09-25.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-10-08.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-10-16.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-11-18.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2019-12-03.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2020-01-09.bin
-rw-r--r-- 1 root root 524288 Jan 22 21:28 pieeprom-2020-01-17.bin
-rw-r--r-- 1 root root  60868 Jan 22 21:28 recovery.bin
-rw-r--r-- 1 root root  96984 Jan 22 21:28 vl805-00013701.bin
-rw-r--r-- 1 root root  98712 Jan 22 21:28 vl805-000137ab.bin
-rw-r--r-- 1 root root  98904 Jan 22 21:28 vl805-000137ad.bin

Мы готовы прошить нужную нам бета версию бутлоадера под названием pieeprom-2019-10-16.bin.

Честно говоря, прошивать более свежие бета версии я не пробовал, потому как для загрузки с eMMC достаточно и этой версии.

Команда для прошивки такая:

$ sudo rpi-eeprom-update -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2019-10-16.bin

После моментальной прошивки нужно будет перезагрузить малинку, чтобы завершить процесс обновления. Затем, после успешного окончания загрузки системы с вашей microSD карты, вы можете остановить малинку, вставить вашу eMMC карту через адаптер с записанным образом Raspbian Buster Lite и загрузиться с нее.

Кстати, в последних версиях беты бутлоадера добавили загрузку по сети. По USB, к сожалению многих, еще нет.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Евгений Лузин (EvLuz)
    Евгений Лузин (EvLuz) 6 месяцев назад

    Отлично, спасибо за статью, теперь со спокойной совестью могу прикупить четверку, уже и emmc для неё есть👍

    • Igor Gubaidullin (pavuk)
      Igor Gubaidullin (pavuk) 6 месяцев назад

      Да, главное, ридер найти, который будет работать с emmc, чтобы образ записать. Может, на винде с этим попроще.

  2. (durovmn)
    (durovmn) 6 месяцев назад

    А с Raspberry Pi 3B+ такое можно провернуть или он не поддерживает eMMC?

    • Igor Gubaidullin (pavuk)
      Igor Gubaidullin (pavuk) 6 месяцев назад

      Трешка и так может грузиться и с eMMC и даже с USB безо всяких танцев с бубнами.

  3. Николай Васильчук (anonym.tsk)

    Малина с такой памятью по цене уже почти как нормальный miniPC на x86

  4. Эдуард Салло (Edward)
    Эдуард Салло (Edward) 6 месяцев назад
    Про загрузку по сети, можно подробней плиз)))

  5. Белояр Иван (Ivan711)
    Белояр Иван (Ivan711) 6 месяцев назад

    Вот не понимаю. 

    За те же +- 5 тысяч, на авито можно выдернуть неттоп (нюк, брикс) на i3, с которым малина ( любая ) не сможет тягаться не в плане скорости, не в плане стабильности. 

    Так зачем все это? Сначала покупать 4 малину, потом решать вопрос с ее перегревом, потом с надежностью карт памяти. Зачем создавать себе проблемы, что бы потом мужественно их решать? 

    • (dmitriimi)
      (dmitriimi) 6 месяцев назад

      Лично я нуб и не хочу тратить дни на пролет накатывая HA на подобные системы, мне надо просто накатить образ на sd карту и забыть. А если появилась проблема, то в два клика найду решение, для неттопа сомневаюсь, что решение будет в два клика, если вообще такой вопрос нетривиальной проблемы в интернете даже найдется.

      Получаешь без шумную, мало потребляющую и стабильную машинку. 

      P.S. У меня есть нетбук, который хотел заюзать как систему под УД, но это провести вечера и не одни десятки, чтобы настроить как надо все от и до. Так что нам нубам приходиться платить, если напишите как сделать от и до на таких системах, то возможно и больше станет последователей.

      • (t3sc0)
        (t3sc0) 6 месяцев назад

        на nuc вы точно также берете готовый образ, делаете загрузочную флешку одним кликом и с нее ставите систему (далее - далее - готово). при этом он не арм, такой же энергоэффективный как малина, в нем есть все те же интерфейсы (wifi ac, bt, hdmi), больше памяти, ну и упомянутый выше  ссд

    • Igor Gubaidullin (pavuk)
      Igor Gubaidullin (pavuk) 6 месяцев назад

      Не думали о том, что малинка может появиться в хозяйстве задолго до того, как вы решили делать сервер УД? В таком случае, зачем еще покупать нюк и так далее, когда уже есть платформа, вполне для этого подходящая? Ну и не забывайте про ту категорию людей, для которых это просто just for fun.

  6. (dmitriimi)
    (dmitriimi) 6 месяцев назад

    Скорость чтения/записи на SD у малинки же мелкая, даже не выжать никаких соков из eMMC, лучше с USB грузиться, там 300МБ/с, когда у SD вроде 20-40МБ/с.

    • Igor Gubaidullin (pavuk)
      Igor Gubaidullin (pavuk) 6 месяцев назад

      Четвертая малина не умеет грузиться с USB. В статье об этом сказано.

  7. (praded2007vivaldi)
    (praded2007vivaldi) отредактировано 4 месяца назад

    "Переезд" удался. Спасибо за инструкцию.  

    Проверять более новые прошивки на предмет возможности загрузки  с eMMC карты только методом проб ? Кстати, на карту заливал,  просто вставив в ноутбучный ридер.

    • Igor Gubaidullin (pavuk)
      Igor Gubaidullin (pavuk) 4 месяца назад

      Почему только методом проб. Есть ChangeLog на прошивки. Начиная с какой-то конкретной беты emmc стал поддерживаться. Следовательно все остальные беты и релизы должны эту возможность загрузки с emmc продолжать поддерживать и улучшать.

      • (praded2007vivaldi)
        (praded2007vivaldi) отредактировано 4 месяца назад

        Поучительно и ново для меня. Переехал мой Raspberry4 + Emmc 32Gb на последнюю прошивку. 

К списку статей

Устройства в материале

Raspberry Pi 4

Производитель: Raspberry Pi
Заказать на:

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
29 октября 2019, 07:59
Умный домофон на базе nodeMCU с прошивкой ESPHome.