Автор Тема: Запуск Альтлинукс на Rockchip (rk3328\rk3399\rk356x)  (Прочитано 39615 раз)

Оффлайн Delphist52

  • Начинающий
  • *
  • Сообщений: 46
А сначала удостоверьтесь, что при обычной перезагрузке, когда загрузка не с nvme, в загруженной системе nvme работает.

Проверил. В загруженной с флешки системе NVMe после перезагрузки системы (запущенной с флешки) работает: подключается, файлы с него читаются и записать также можно без проблем. Пробовал три раза (включение питания => загрузка системы с флешки => проверка NVMe => перезагрузка системы=> проверка NVMe => перезагрузка системы => проверка NVMe => перезагрузка системы => проверка NVMe).

Модель, размер ?
Сейчас установлен KingSpec NX-1T (объемом 1 TB). До этого был KingSpec NX-512 (объемом 512 GB).

Попробуйте отредактировать в extlinux.conf
Отредактировал. Содержание файла сейчас такое:
#menu title ALTLinux Boot Options

default linux
timeout 2

label linux
kernel /boot/vmlinuz
initrd /boot/initrd.img
fdt /boot/dtb/rockchip/rk3588-rock-5b.dtb
append root=UUID=c96bca41-0518-42e6-924c-3ec5440a060c ro console=ttyS02,1500000 console=tty0

label 5.10.110-std-def-rk-alt3
kernel ../vmlinuz-5.10.110-std-def-rk-alt3
initrd ../initrd-5.10.110-std-def-rk-alt3.img
fdtdir ../devicetree/5.10.110-std-def-rk-alt3
append root=UUID=c96bca41-0518-42e6-924c-3ec5440a060c ro console=ttyS02,1500000 console=tty0
После редактирования файла стало значительно лучше. Система грузится практически всегда после подачи питания. Перезагрузка происходит успешно, с вероятностью где-то 50 на 50. Один раз получилось сделать две перезагрузки (третья не прошла).
Логи UART такие:
...
USB XHCI 1.10
scanning bus usb@fc800000 for devices... 3 USB Device(s) found
scanning bus usb@fc840000 for devices... 1 USB Device(s) found
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
scanning bus usb@fc8c0000 for devices... 1 USB Device(s) found
scanning bus usb@fcd00000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
no mmc device at slot 1
no mmc device at slot 0
invalid flags type!

Device 0: Vendor: 0x1e4b Rev: SN09843  Prod: 0006734005260
            Type: Hard Disk
            Capacity: 976762.3 MB = 953.8 GB (2000409264 x 512)
... is now current device
Scanning nvme 0:1...

Device 2: Vendor: 0x2207 Rev: V1.00 Prod: sfc_nor
            Type: Hard Disk
            Capacity: 16.0 MB = 0.0 GB (32768 x 512)
... is now current device
** Unrecognized filesystem type **

Device 1:
Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
...

один раз такой попался:
...
USB XHCI 1.10
scanning bus usb@fc800000 for devices... 3 USB Device(s) found
scanning bus usb@fc840000 for devices... 1 USB Device(s) found
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
scanning bus usb@fc8c0000 for devices... 1 USB Device(s) found
scanning bus usb@fcd00000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
no mmc device at slot 1
no mmc device at slot 0
(так и завис)

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 891
Перезагрузка происходит успешно, с вероятностью где-то 50 на 50.
Попробуйте увеличить таймаут, который стоит перед выбором системы, возможно NVMe очень быстро обрабатывается при перезагрузке и не успевает инициализироваться. Еще можно попробовать добавить задержку при перезагрузке с синхронизацией (добавить sync перед перезагрузкой и таймаут на 5 секунд).

Оффлайн Delphist52

  • Начинающий
  • *
  • Сообщений: 46
Попробуйте увеличить таймаут
Увеличил время до 5 (сделал timeout 5 в extlinux.conf).
По ощущениям примерно также.

Сообщения преимущественно стали такие (и только для перезагрузки):
...
USB XHCI 1.10
scanning bus usb@fc800000 for devices... 3 USB Device(s) found
scanning bus usb@fc840000 for devices... 1 USB Device(s) found
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
scanning bus usb@fc8c0000 for devices... 1 USB Device(s) found
scanning bus usb@fcd00000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
no mmc device at slot 1
no mmc device at slot 0
(зависает (ждал более минуты))

Один раз выдал:
...
USB XHCI 1.10
scanning bus usb@fc800000 for devices... 3 USB Device(s) found
scanning bus usb@fc840000 for devices... 1 USB Device(s) found
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
scanning bus usb@fc8c0000 for devices... 1 USB Device(s) found
scanning bus usb@fcd00000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
no mmc device at slot 1
no mmc device at slot 0
invalid flags type!

Device 0: Vendor: 0x1e4b Rev: SN09843  Prod: 0006734005260
            Type: Hard Disk
            Capacity: 976762.3 MB = 953.8 GB (2000409264 x 512)
... is now current device
Scanning nvme 0:1...
Failed to iterate over directory extlinux
fs_devread read outside partition 10518458983752060176
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

Device 2: Vendor: 0x2207 Rev: V1.00 Prod: sfc_nor
            Type: Hard Disk
            Capacity: 16.0 MB = 0.0 GB (32768 x 512)
... is now current device
** Unrecognized filesystem type **

Device 1:
Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
...

добавить задержку при перезагрузке с синхронизацией (добавить sync перед перезагрузкой и таймаут на 5 секунд)
А это как сделать? Где прописывать? В файле extlinux.conf?

Оффлайн politruk

  • Начинающий
  • *
  • Сообщений: 14
Добрый день! На этом образе https://disk.yandex.ru/d/KuwvOl_9VUxkDA/20230403-efi/regular-xfce-arm-20230404-aarch64.img.xz на ROC-RK3568-PC не поднялся wifi. Скопировал фирмварь от армбиан и wifi заработал.
С синезубом немного  печальнее ситуация. У производителя свой патченный драйвер rfkill и прошивку загрузить в устройство не получалось.
После небольшого исследования пришлось декомпилировать dtb альтов и вставить в него магические строчки и драйвер btbcm смог увидеть и
загрузить прошивку.
Вот таким образом обошел пролему:
serial@fe6c0000 {
compatible = "rockchip,rk3568-uart\0snps,dw-apb-uart";
reg = <0x00 0xfe6c0000 0x00 0x100>;
interrupts = <0x00 0x7c 0x04>;
clocks = <0x0e 0x13b 0x0e 0x138>;
clock-names = "baudclk\0apb_pclk";
dmas = <0x27 0x10 0x27 0x11>;
pinctrl-0 = <0x93 0x94>;
pinctrl-names = "default";
reg-io-width = <0x04>;
reg-shift = <0x02>;
status = "okay";
phandle = <0x126>;

bluetooth {
compatible = "brcm,bcm43438-bt";
//clocks = <&rk809 1>;
clocks = <0xd6 0x01>;
clock-names = "lpo";
//device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
device-wakeup-gpios = <0x22 0x02 0x00>;
//host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <0x22 0x01 0x00>;
//shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <0x22 0x00 0x00>;
pinctrl-1 = <0xda>;
pinctrl-names = "default";
};
};

Оффлайн politruk

  • Начинающий
  • *
  • Сообщений: 14
Цитировать
Balbes
А из каких исходников строится rk-3568-firefly-roc-pc.dtb? Из из исходников старого ядра Firefly?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
А из каких исходников строится rk-3568-firefly-roc-pc.dtb? Из из исходников старого ядра Firefly?

С новых. Ядро un-def в Сизифе поддерживает ROC-RK3568-PC:
https://git.altlinux.org/people/kernelbot/packages/?p=kernel-image.git;a=shortlog;h=refs/heads/un-def/sisyphus
Файл arch/arm64/boot/dts/rockchip/rk3568-firefly-roc-pc.dts

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 891
А это как сделать? Где прописывать?
для начала - проверить в ручную, перед командой перезагрузки - sync и ждать 5-10 секунд, пока все операции с NVMe закончатся.

декомпилировать dtb альтов и вставить в него магические строчки
Если взять DTB от Armbian, должно работать без переделки.

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 891
Вер 20230420 для rk3588 и для всех остальные.

Оффлайн politruk

  • Начинающий
  • *
  • Сообщений: 14
Если взять DTB от Armbian, должно работать без переделки.
Уверены. Я просто начал с армбиана и с его дтб експериментировал. С новым ядром не легаси. Просто для wifi только прошивка нужна, а для bt 3 пина с клоком надо прописать в нужном уарте. В гите я патче не нашел, может плохо искал.

Здесь
https://git.altlinux.org/people/kernelbot/packages/?p=kernel-image.git;a=shortlog;h=refs/heads/un-def/sisyphus
Файл arch/arm64/boot/dts/rockchip/rk3568-firefly-roc-pc.dts
с правками заработал bt
« Последнее редактирование: 21.04.2023 17:56:25 от politruk »

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 891
Ядро un-def в Сизифе поддерживает ROC-RK3568-PC:
с последним патчем BT работает в Armbian
https://github.com/150balbes/build/blob/armbian-tv/patch/kernel/media-current/00170-v95-rk3568-firefly-roc-pc.patch


Хорошие новости. Добавлена поддержка HDMI в EDK2 для rk3588 (полноценный запуск через grub , как на ПК). Тестовые образы armbian с поддержкой EDK2 загрузил на сайт в соответствующие по моделям каталоги (пока для rock5b и OPi5). Скоро будут для Station M3 и Khadas EDGE2. После тестирования - будут файлы загрузчиком с EDK2 для стандартного использования с образами альтов с EFI.

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 891
Вер 20230512 ядро 6.2.14

Оффлайн and147

  • Начинающий
  • *
  • Сообщений: 7
Кому-нибудь удалось добиться поддержки сети (хотя бы Ethernet)  на  rk3399?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Кому-нибудь удалось добиться поддержки сети (хотя бы Ethernet)  на  rk3399?

На NanoPC T4 работает со всеми ядрами p10 и Сизифа. Для wi-fi требуется firmware добавить.
Тут дело не в SoC, а в конкретном одноплатнике.

Оффлайн Balbes

  • alt linux team
  • ***
  • Сообщений: 891
Кому-нибудь удалось добиться поддержки сети (хотя бы Ethernet)  на  rk3399?
Устройство , используемый образ ?

На всех поддерживаемых устройствах с образами из этой темы - LAN работает, на части так же работает и WiFi.

Оффлайн and147

  • Начинающий
  • *
  • Сообщений: 7
Устройство Orange Pi4 LTS.

Штатная Orange OS (я её сохранил) работает со всеми сетевыми интерфейсами.

Альты запускаю c SD-карты. АльтЛинукс очень шустро работает. Ethernet-интерфейс появляется в системе.

На этом всё хорошее заканчивается ...

При выборе автоматического способа получения IP-адреса от DHCP, соединение постоянно обрывается. IP-адрес не присваивается.

При выборе ручного способа получения IP-адреса, соединение вроде бы устанавливается. Но пингов никуда нет.

Я видел сообщение от Balbes, что в феврале АльтЛинукс была "пропатчена" и проблема с IP-адресами была решена.

Видимо у Orange Pi4 LTS, действительно есть какие-то особенности.

Пробовал следующие варианты  АльтЛинукс:
- regular-kde5-arm-20230314-aarch64
- regular-kde5-arm-20230512-aarch64
- regular-workstation-arm-20230511-aarch64
- regular-workstation-arm-20220711-aarch64
- alt-workstation-10.1-aarch64