This commit is contained in:
2025-04-11 11:33:38 +07:00
commit 5f042075f9
7 changed files with 154 additions and 0 deletions

154
README.md Normal file
View File

@@ -0,0 +1,154 @@
## Метод записи с помощью команды dd
1. Для начала необходимо подготовить твердотельный накопитель NVMe SSD с интерфейсом PCIe версии 3.0x4 для слота M.2 на плате разработки.
![image ssd](/img/1.JPG)
2. Затем вставьте NVMe SSD в интерфейс M.2 PCIe на плате разработки и надёжно закрепите его.
![sbc opi 5 ](/img/2.JPG)
3. Расположение SPI Flash на плате разработки показано на следующем рисунке, дополнительные настройки перед началом записи не требуются.
![sbc opi 5 ](/img/3.JPG)
4. Для записи образа Linux на SPIFlash+NVMe SSD потребуется использовать карту microSD (TF-карту). Первым шагом нужно записать образ Linux на TF-карту, а затем использовать её для загрузки платы разработки в систему Linux. Метод записи образа Linux на TF-карту описан в двух разделах: "`метод записи образа Linux на TF-карту с использованием Windows PC`" и "`метод записи образа Linux на TF-карту с использованием Ubuntu PC`".
5. После запуска системы Linux с TF-карты мы начинаем запись образа u-boot в SPI Flash
1. Сначала запустите утилиту `nand-sata-install`. Обычным пользователям следует помнить о необходимости предоставления прав `sudo`
```bash
orangepi@orangepi5ultra:~/$ sudo nand-sata-install
```
2. Затем выберите пунк `7 Install/Update ther bootloader on SPI Flash`.
![](/img/4.JPG)
3. Далее выберите `Yes`.
![](/img/5.JPG)
4. Пожалуйста, наберитесь терпения и дождитесь завершения записи. После завершения записи в левом нижнем углу появится сообщение `Done`:
![](/img/6.JPG)
---
## В системе OPi OS Arch отсутствует скрипт nand-sata-install. Пожалуйста, используйте следующую команду для записи u-boot в SPI Flash:
```bash
orangepi@orangepi5ultra:~/$ sudo dd if=/boot/rkspi_loader.img of=/dev/mtdblock0
```
---
6. Затем загрузите файл образа Linux (скачанный с официального сайта как образ Debian, Ubuntu или OpenWRT) на TF-карту. Инструкции по загрузке файлов образа Linux на плату разработки можно найти в соответствующем разделе документации.
---
Обратите внимание, что если вы скачиваете образ OpenWRT, вы увидите три типа образов по ссылке для скачивания OpenWRT. Пожалуйста, выберите файлы образов из папки `"TF card, eMMC, and NVME SSD boot images"`.
---
7. После загрузки образа в систему Linux на плате разработки, мы можем перейти к пути хранения файла образа через командную строку Linux на плате разработки.
Например, я сохранил образ Linux в директории `/home/orangepi/Desktop`, а затем перешёл в эту директорию, чтобы увидеть загруженный файл образа..
```bash
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 или другие дисплеи, то можно открыть терминал командной строки на рабочем столе.
---
8. Далее убедимся, что NVMe SSD правильно распознаётся платой разработки под управлением Linux. Если NVMe SSD распознаётся нормально, вы можете использовать команду `sudo fdisk -l`, чтобы увидеть информацию, связанную с NVMe.
```bash
orangepi@orangepi:~/Desktop$ sudo fdisk -l | grep "nvme0n1"
Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors
```
Используя команду `lspci`, вы можете увидеть устройство PCI, связанное с NVMe.
```bash
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)
```
9. Затем мы можем использовать команду `dd` для очистки NVMe SSD (по желанию).
```bash
orangepi@orangepi5ultra:~/Desktop$ sudo dd bs=1M if=/dev/zero of=/dev/nvme0n1 count=2000 status=progress
orangepi@orangepi5ultra:~/Desktop$ sudo sync
```
10. Теперь вы можете использовать команду `dd` для записи образа Linux на NVMe SSD
1. Параметр `if=` в следующей команде должен быть дополнен полным путём к образу Linux и именем образа (например, `/home/orangepi/Desktop/Linux image name`). Поскольку мы уже вошли в путь к образу, достаточно указать только имя образа.
2. Не копируйте имя образа Linux из следующей команды, замените его фактическим именем образа (так как номер версии может обновляться).
```bash
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.
---
11. После успешной записи образа Linux на NVMe SSD вы можете использовать команду `poweroff` для выключения системы. Затем отсоедините TF-карту и кратковременно нажмите кнопку питания, чтобы запустить систему Linux с SPIFlash+NVMe SSD.
12. После запуска системы с NVMe SSD используйте команду `df -h`, чтобы увидеть фактический объём жёсткого диска
1. 128GB NVMe SSD.
```bash
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
```
2. 2TB NVMe SSD.
```bash
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
```
13) Когда на TF-карту и NVMe SSD записана одна и та же система, `если оба устройства (TF-карта и NVMe SSD) вставлены в плату разработки, при включении платы u-boot запустит систему с TF-карты первой`. Однако, поскольку системы на TF-карте и NVMe SSD идентичны, UUID разделов `/boot` и `rootfs` на обоих устройствах также совпадают. Это может привести к тому, что раздел на NVMe SSD будет загружен при старте с TF-карты. Выполнение следующего скрипта решит эту проблему.
```bash
orangepi@orangepi:~$ sudo fix_mmc_ssd.sh
```
---
Одинаковая система означает, что имя образа полностью совпадает. Даже в случае с Debian11 разные версии считаются разными системами. Скрипт fix_mmc_ssd.sh недоступен в системе OPi OS Arch.
---

BIN
img/1.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
img/2.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
img/3.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
img/4.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
img/5.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
img/6.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB