Allwinner D1

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


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