Allwinner D1: различия между версиями
Нет описания правки |
|||
Строка 29: | Строка 29: | ||
Отчистите sd-карту: | Отчистите sd-карту: | ||
wipefs -a $card | # wipefs -a $card | ||
dd if=/dev/zero of=$card bs=1M count=1 | |||
# dd if=/dev/zero of=$card bs=1M count=1 | |||
Понадобятся 2 раздела: на одном u-boot будет хранить свои переменные (u-boot-sunxi-riscv сконфигурирован сохранять окружение в файл на FAT); на другом другом будет ОС. При использовании GPT необходимо уменьшить размер таблицы, чтобы можно было записать u-boot (см. ниже). | Понадобятся 2 раздела: на одном u-boot будет хранить свои переменные (u-boot-sunxi-riscv сконфигурирован сохранять окружение в файл на FAT); на другом другом будет ОС. При использовании GPT необходимо уменьшить размер таблицы, чтобы можно было записать u-boot (см. ниже). | ||
sfdisk $card << EOF | # sfdisk $card << EOF | ||
label: gpt | label: gpt | ||
first-lba: 8k | first-lba: 8k | ||
Строка 45: | Строка 46: | ||
Создайте файловые системы: | Создайте файловые системы: | ||
mkfs.vfat -n ENV /dev/РАЗДЕЛ1 | # mkfs.vfat -n ENV /dev/РАЗДЕЛ1 | ||
mkfs.ext4 -L ROOT /dev/РАЗДЕЛ2 | # mkfs.ext4 -L ROOT /dev/РАЗДЕЛ2 | ||
=== Распаковка rootfs === | === Распаковка rootfs === |
Версия от 13:58, 26 марта 2024
Allwinner D1 (sun20iw1p1) -- первый SoC от компании Allwinner с архитектурой riscv64. Содержит одно ядро XuanTie C906 (RV64GCV, причём v версии 0.71), разработанное T-Head.
Некоторые устройства на этом SoC поддерживаются портом Сизифа на архитекуру riscv64, включая:
Работоспособная поддержка устройств на базе D1 появилась в ядрах un-def, начиная с 6.6; существуют также отдельный flavour, d1-un
, поддерживающий больше периферии.
Загрузчик собран в пакет u-boot-sunxi-riscv.
Создание образов
Возьмите SD-карту
card=/dev/sdX
или
card=/dev/mmcblkX
X замените на нужную букву (чтобы получилось, например, /dev/sda) или цифру (чтобы получилось, например, /dev/mmcblk0).
Разбивка диска
Отчистите sd-карту:
# wipefs -a $card # dd if=/dev/zero of=$card bs=1M count=1
Понадобятся 2 раздела: на одном u-boot будет хранить свои переменные (u-boot-sunxi-riscv сконфигурирован сохранять окружение в файл на FAT); на другом другом будет ОС. При использовании GPT необходимо уменьшить размер таблицы, чтобы можно было записать u-boot (см. ниже).
# sfdisk $card << EOF label: gpt first-lba: 8k table-length: 56 start= 40M, size= 100M, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name="ENV" start= , type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, name="ROOT", attrs="LegacyBIOSBootable" EOF
Создайте файловые системы:
# mkfs.vfat -n ENV /dev/РАЗДЕЛ1 # mkfs.ext4 -L ROOT /dev/РАЗДЕЛ2
Распаковка rootfs
TBD
U-Boot
TBD
dd if=u-boot-sunxi-with-spl.bin of=$card bs=1024 seek=8