• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • ESPHome
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Настройка загрузки Одноплатных компьютеров SBC с жесткого диска на примере Orange pi zero 2. Перенос операционной системы на HDD/SSD.

5 декабря, 2022

Проверено на Orange pi zero 2. Приобрести которую можно тут:

Orange pi zero 2: http://alii.pub/68uelr

Orange pi zero 2 с платой расширения usb и audio: http://alii.pub/68uepn

Orange pi zero 2 с корпусом: http://alii.pub/68uere

Дешевые не плохие SSD можно приобрести тут: https://alii.pub/6jlgay

Переходник USB-SATA: https://alii.pub/6jlgs9

ВСТУПЛЕНИЕ:

Все Вы знаете, что если держать операционную систему на обычной micro sd карточке, то она в скором времени придет в негодность. Например, если у нас установлен Linux с Home Assistant, то флешка обычно приходит в негодность через год. И придется ее менять.

С HDD дела обстоят куда лучше. HDD/SSD работают гораздо дольше чем флешки и могут прослужить вам верой и правдой очень долго.

По этой причине одноплатные компьютеры Raspberry pi 4 выигрывают другие одноплатники. Из-за того, что умеют грузиться с жесткого диска по USB.

Но на самом деле есть способ “кастыльный” который и любой другой SBC одноплатный компьютер заставит грузиться с жесткого диска по USB.

Что мы можем сделать. Мы можем U-boot оставить на Microsd карточке и настроить все так, что при загрузке одноплатного компьютера U-boot будет искать HDD с операционной системой и грузиться уже из него.

И получится, что у нас будет вставлена Microsd карточка в одноплатник и жесткий диск подключен по usb к нему. В этом и есть “костыль”. Но так как на microsd карточке у нас только u-boot и обращаться к флешке компьютер будет только при загрузке. То эта флешка у нас должна прослужить очень долго.  А все остальные процессы чтения и записи будут уже происходить на жестком диске.

Такой способ будет работать я думаю на любом одноплатном компьютере. Но я буду показывать на примере Orange pi zero 2.

НАСТРОЙКА:

Для начала давайте посмотрим какие у нас диски присутствуют в системе. Для этого вводим команду:

sudo lsblk

Тут мы видим только флешку. Этот диск называется mmcblk1 и у него есть один раздел, который называется mmcblk1p1. Разделов может быть много у диска. Ну и видим что у него размер 14.3 Гигобайта.

Давайте теперь (ради интереса) проверим скорость данной флешки (Она у меня старая и я думаю не быстрая.). Для того чтоб узнать скорость накопителя выполним команду:

hdparm -t –direct /dev/mmcblk1

где /dev/mmcblk1 – это путь к носителю который мы хотим протестировать.

Видим, что скорость даного носителя 21.91 мб/c. Запоминаем. Далее протестируем HDD.

Следующей командой проверим где у нас установлена операционная система. Точнее мы точно знаем что она сейчас на Micro sd флешке. Но я просто покажу способ как это можно проверить. Проверяется это команой:

mount

Тут много всего выводится, но нас интересует только корневой каталог  “/” .  Собственно я его выделил. Видимо что он находится на /dev/mmcblk1p1 – это и есть наша флешка.

Далее подключаем к usb порту жесткий диск. У меня это старенький 2.5 жесткий диск от ноутбука на 80Гб.

и Вводим команду чтоб посмотреть как он определился в системе:

sudo lsblk

видим, что новый диск называется sda и имеет 3 раздела sda1, sda2, sda3. Диск имеет размер 74.5Гигобайт.

Эти три раздела нам нужно уничтожить. Чтоб диск был чистый. Удалять будем встроенной утилитой fdisk.

Чтоб войти в утилиту fdisk конкретно на диске sda вводим команду:

sudo fdisk /dev/sda

после ввода этой команды мы войдем в программу fdisk. Тут нам нужно ввести букву “d” что означает delete тоесть удалить.

После ввода буквы “d” попросит ввести цифру раздела. у нас разделы sda1,sda2,sda3. следовательно sda1 -это 1 и так далее. повторяем 3 раза это действие удаляя каждый раздел.

После удаления пишем букву “w” – write. Которая применит к диску удаление томов.

Ну и еще раз проверим все диски командой sudo lsblk

Видим, что диск чистый без разделов. просто sda и все.

Теперь нам нужно клонировать диск с флешки mmcblk1 на usb жесткий диск sda. Для этого введем команду:

sudo cat /dev/mmcblk1 > /dev/sda

Это займет некоторое время. В консоли у Вас ничего писаться не будет. ПРосто нужно подождать. По завершении процесса у Вас снова появится курсор для ввода команд.

Ну и после завершения кланирования выведем еще раз список носителей:

sudo lsblk

Видим, что диск sda стал такой-же. Раздел sda1 стал так-же 14.3 G. Получилась точная копия диска mmclk1p1.

Далее введем команду blkid для того чтоб  посмотреть уникальные номера дисков uuid. Для этого введем команду:

sudo blkid

Так как мы диск клонировали, обратите внимание что у /dev/mkblk1p1 и у /dev/sda1 одинаковые UUID. Следовательно при загрузке операционной системы, uboot возьмет первый попавшийся диск с этим uuid. И не факт, что это будет жесткий диск.

По этому нам нужно изменить uuid у флешки /dev/mkblk1p1. Для этого введем команду:

sudo tune2fs -U random /dev/mmcblk1p1

После этого введем еще раз команду с uuid дисков:

sudo blkid

Обратите внимание что у диска /dev/mmcblk1p1 uuid поменялся. Этого мы собственно и добивались.

Далее нам нужно объяснить системе что нужно всегда грузиться с /dev/sda1 . А не спрашивать постоянно. Чтоб это сделать нужно ввести команду:

sudo e2fsck -yf /dev/sda1

На этом настройка закончена дисков. Теперь перегрузим систему и она уже загрузится с жесткого диска.

sudo reboot

Ну и давайте убедимся, что система загрузилась непосредственно с HDD. Для этого введем команду:

sudo mount

И видим, что корневой каталог “/” линукс находится теперь на /dev/sda1. Собственно что и хотели получить.

Теперь можем эксплуатировать свой жесткий диск и радоваться его долголетию.

А теперь бонусом для владельцев orange pi расскажу еще один момент. У меня на orange pi zero 2 установлена ubuntu с своими сервисами от orange pi.

Если мы обратим внимание на наши диски

sudo lsblk

То мы увидим что сам диск sda весом 74.5 Гигобайт. А раздел наш sda1 только 14.3 Ггб. как и флешка. И хочется расширить дисковое пространство на все 80 Ггб жесткого диска.

Так вот в ubuntu от orange pi это делается всего лишь одной командой.

sudo systemctl start orangepi-resize-filesystem.service

Ну и после ввода этой команды видим, что логический раздел sda1 стал занимать все пространство жесткого диска sda.

НА этом пожалуй все. Надеюсь кому-то было это интересно. Мне так очень понравился такой вариант. сэкономит флешки).

Primary Sidebar

Поиск

Новые записи

  • Самый дешевый микроволновой датчик движения RCWL-0516
  • Первый взгляд на модуль Lilygo T-Display S3 и добавление его в ESPHome.
  • Алиса помогает с шумными соседями. Белый шум.
  • Датчик углекислого газа CO2 Sensirion SCD30 в ESPHome и Home Assistant.
  • Программирование микроконтроллеров ESP32-C3, ESP32-S2, ESP32-S3 в ESPHome

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Copyright_У Павла! © 2023 ·