2025-04-11 11:33:38 +07:00
2025-04-11 11:33:38 +07:00
2025-04-11 11:33:38 +07:00

Метод записи с помощью команды dd

  1. Для начала необходимо подготовить твердотельный накопитель NVMe SSD с интерфейсом PCIe версии 3.0x4 для слота M.2 на плате разработки.

image ssd

  1. Затем вставьте NVMe SSD в интерфейс M.2 PCIe на плате разработки и надёжно закрепите его.

sbc opi 5

  1. Расположение SPI Flash на плате разработки показано на следующем рисунке, дополнительные настройки перед началом записи не требуются.

sbc opi 5

  1. Для записи образа Linux на SPIFlash+NVMe SSD потребуется использовать карту microSD (TF-карту). Первым шагом нужно записать образ Linux на TF-карту, а затем использовать её для загрузки платы разработки в систему Linux. Метод записи образа Linux на TF-карту описан в двух разделах: "метод записи образа Linux на TF-карту с использованием Windows PC" и "метод записи образа Linux на TF-карту с использованием Ubuntu PC".

  2. После запуска системы Linux с TF-карты мы начинаем запись образа u-boot в SPI Flash

    1. Сначала запустите утилиту nand-sata-install. Обычным пользователям следует помнить о необходимости предоставления прав sudo
    orangepi@orangepi5ultra:~/$ sudo nand-sata-install
    
    1. Затем выберите пунк 7 Install/Update ther bootloader on SPI Flash.

3. Далее выберите `Yes`.

4. Пожалуйста, наберитесь терпения и дождитесь завершения записи. После завершения записи в левом нижнем углу появится сообщение `Done`:


В системе OPi OS Arch отсутствует скрипт nand-sata-install. Пожалуйста, используйте следующую команду для записи u-boot в SPI Flash:

orangepi@orangepi5ultra:~/$ sudo dd if=/boot/rkspi_loader.img of=/dev/mtdblock0

  1. Затем загрузите файл образа Linux (скачанный с официального сайта как образ Debian, Ubuntu или OpenWRT) на TF-карту. Инструкции по загрузке файлов образа Linux на плату разработки можно найти в соответствующем разделе документации.

Обратите внимание, что если вы скачиваете образ OpenWRT, вы увидите три типа образов по ссылке для скачивания OpenWRT. Пожалуйста, выберите файлы образов из папки "TF card, eMMC, and NVME SSD boot images".


  1. После загрузки образа в систему Linux на плате разработки, мы можем перейти к пути хранения файла образа через командную строку Linux на плате разработки. Например, я сохранил образ Linux в директории /home/orangepi/Desktop, а затем перешёл в эту директорию, чтобы увидеть загруженный файл образа..
    orangepi@orangepi5ultra:~/ cd /home/orangepi/Desktop
    orangepi@orangepi5ultra:~/Desktop$ ls
    orangepi5ultra_x.x.x_debian_bullseye_desktop_xfce_linux5.10.160.img
    

Как войти в командную строку Linux на плате разработки?

  1. Для метода использования последовательного порта для входа в терминал, обратитесь к инструкциям в разделе о том, как использовать отладочный последовательный порт.

  2. Используйте SSH для удалённого входа в систему Linux; обратитесь к инструкциям в разделе о SSH-подключении к плате разработки.

  3. Если подключены HDMI, LCD или другие дисплеи, то можно открыть терминал командной строки на рабочем столе.


  1. Далее убедимся, что NVMe SSD правильно распознаётся платой разработки под управлением Linux. Если NVMe SSD распознаётся нормально, вы можете использовать команду sudo fdisk -l, чтобы увидеть информацию, связанную с NVMe.

    orangepi@orangepi:~/Desktop$ sudo fdisk -l | grep "nvme0n1" 
    Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors
    

    Используя команду lspci, вы можете увидеть устройство PCI, связанное с NVMe.

    orangepi@orangepi:~/Desktop$ lspci
    0004:40:00.0 PCI bridge: Fuzhou Rockchip Electronics Co., Ltd Device 3588 (rev 01)
    0004:41:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (rev 01)
    
  2. Затем мы можем использовать команду dd для очистки NVMe SSD (по желанию).

orangepi@orangepi5ultra:~/Desktop$ sudo dd bs=1M if=/dev/zero of=/dev/nvme0n1 count=2000 status=progress 
orangepi@orangepi5ultra:~/Desktop$ sudo sync 
  1. Теперь вы можете использовать команду dd для записи образа Linux на NVMe SSD

    1. Параметр if= в следующей команде должен быть дополнен полным путём к образу Linux и именем образа (например, /home/orangepi/Desktop/Linux image name). Поскольку мы уже вошли в путь к образу, достаточно указать только имя образа.

    2. Не копируйте имя образа Linux из следующей команды, замените его фактическим именем образа (так как номер версии может обновляться).

    sudo dd bs=1M if=orangepi5ultra_x.x.x_debian_bullseye_desktop_xfce_linux5.10.160.img of=/dev/nvme0n1 status=progress
    sudo sync 
    

Обратите внимание, что если вы загружаете сжатый файл образа Linux с расширением .7z, .xz или .gz, не забудьте распаковать его перед записью с помощью команды dd. Подробное описание и использование всех параметров команды dd можно просмотреть, выполнив команду man dd в системе Linux.


  1. После успешной записи образа Linux на NVMe SSD вы можете использовать команду poweroff для выключения системы. Затем отсоедините TF-карту и кратковременно нажмите кнопку питания, чтобы запустить систему Linux с SPIFlash+NVMe SSD.

  2. После запуска системы с NVMe SSD используйте команду df -h, чтобы увидеть фактический объём жёсткого диска

    1. 128GB NVMe SSD.
    orangepi@orangepi:~$ df -h
    Filesystem      Size Used   Avail   Use%    Mounted on
    udev            3.8G 8.0K   3.8G    1%      /dev
    tmpfs           769M 1.4M   768M    1%      /run
    /dev/nvme0n1p2  118G 5.8G   111G    5%      /
    tmpfs           3.8G 0      3.8G    0%      /dev/shm
    tmpfs           5.0M 4.0K   5.0M    1%      /run/lock
    tmpfs           3.8G 16K    3.8G    1%      /tmp
    /dev/nvme0n1p1  256M 90M    166M    36%     /boot
    /dev/zram1      194M 9.9M   170M    6%      /var/log
    tmpfs           769M 60K    769M    1%      /run/user/1000
    tmpfs           769M 48K    769M    1%      /run/user/0
    
    1. 2TB NVMe SSD.
    orangepi@orangepi:~$ df -h
    Filesystem      Size    Used    Avail   Use%    Mounted on
    udev            3.8G    8.0K    3.8G    1%      /dev
    tmpfs           769M    1.4M    768M    1%      /run
    /dev/nvme0n1p2  1.9T    4.1G    1.8T    1%      /
    tmpfs           3.8G    0       3.8G    0%      /dev/shm
    tmpfs           5.0M    4.0K    5.0M    1%      /run/lock
    /dev/zram2      3.7G    76K     3.5G    1%      /tmp
    /dev/nvme0n1p1  256M    90M     166M    36%     /boot
    /dev/zram1      194M    15M     165M    9%      /var/log
    tmpfs           769M    60K     769M    1%      /run/user/1000
    tmpfs           769M    48K     769M    1%      /run/user/0
    
  1. Когда на TF-карту и NVMe SSD записана одна и та же система, если оба устройства (TF-карта и NVMe SSD) вставлены в плату разработки, при включении платы u-boot запустит систему с TF-карты первой. Однако, поскольку системы на TF-карте и NVMe SSD идентичны, UUID разделов /boot и rootfs на обоих устройствах также совпадают. Это может привести к тому, что раздел на NVMe SSD будет загружен при старте с TF-карты. Выполнение следующего скрипта решит эту проблему.
    orangepi@orangepi:~$ sudo fix_mmc_ssd.sh
    

Одинаковая система означает, что имя образа полностью совпадает. Даже в случае с Debian11 разные версии считаются разными системами. Скрипт fix_mmc_ssd.sh недоступен в системе OPi OS Arch.


Description
No description provided
Readme 342 KiB