Автор Тема: Альфа регулярных сборок для armh и aarch64  (Прочитано 83108 раз)

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Хм, странные дела. Я разметил карточку в формате mbr. Основной ext4 раздел сделал с позиции, указанной в документации 32768. Записал туда rootfs regular-xfce-latest-aarch64.tar.xz. Затем записал загрузчик от armbian.
И вуаля:
DDR Version 1.14 20180803
In
Channel 1: LPDDR4,50MHz
CS = 0
MR0=0x0
MR4=0x0
MR5=0x0
MR8=0x0
MR12=0x0
MR14=0x0
MR18=0x0
MR19=0x0
MR24=0x0
MR25=0x0
CS = 1
MR0=0x0
MR4=0x0
MR5=0x0
MR8=0x0
MR12=0x0
MR14=0x0
MR18=0x0
MR19=0x0
MR24=0x0
MR25=0x0
W FF != R
Cap error!
Channel 0: LPDDR3, 933MHz
CS = 0
MR0=0x58
MR1=0x58
MR2=0x58
MR3=0x58
MR4=0x2
MR5=0x1
MR6=0x5
MR7=0x0
MR8=0x1F
MR9=0x1F
MR10=0x1F
MR11=0x1F
MR12=0x1F
MR13=0x1F
MR14=0x1F
MR15=0MR16=0x1F
CS = 1
MR0=0x58
MR1=0x58
MR2=0x58
MR3=0x58
MR4=0x5
MR7=0x0
MR8=0x1F
MR9=0x1F
MR10=0x1F
MR11=0x1F
MR12=0x1Fx1F
MR15=0x1F
MR16=0x1F
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=2048MB
Channel 1: LPDDR3, 933MHz
CS0x58
MR2=0x58
MR3=0x58
MR4=0x2
MR5=0x1
MR6=0x5
MR7=0x0
MRMR10=0x1F
MR11=0x1F
MR12=0x1F
MR13=0x1F
MR14=0x1F
MR15=0x1F
         MR0=0x58
MR1=0x58
MR2=0x58
MR3=0x58
MR4=0x2
MR5=0x1
MR6=0F
MR9=0x1F
MR10=0x1F
MR11=0x1F
MR12=0x1F
MR13=0x1F
MR14=0x6=0x1F
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=2 Size=2048MB
256B stride
ch 0 ddrconfig = 0x101, ddrsize = 0x2020
ch 1 ddrconfig = 0x101, ddrsize = 0x2020
pmugrf_os_reg[2] = 0x3AA0DAA0, stride = 0xD
OUT
Boot1: 2018-08-06, version: 1.15
CPUId = 0x0
ChipType = 0x10, 213
SdmmcInit=2 0
BootCapSize=100000
UserCapSize=14910MB
FwPartOffset=2000 , 100000
mmc0:cmd5,20
SdmmcInit=0 0
BootCapSize=0
UserCapSize=14760MB
FwPartOffset=2000 , 0
StorageInit ok = 150202
SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit read PBA: 0x1404
SecureInit read PBA: 0x1804
SecureInit read PBA: 0x1c04
SecureInit ret = 0, SecureMode = 0
GPT 0x3190d20 signature is wrong
LoadTrust Addr:0x4000
No find bl30.bin
No find bl32.bin
Load uboot, ReadLba = 2000
Load OK, addr=0x200000, size=0x9d43c
RunBL31 0x10000
NOTICE:  BL31: v1.3(debug):f947c7e
NOTICE:  BL31: Built : 14:21:58, Aug 26 2018
NOTICE:  BL31: Rockchip release version: v1.1
INFO:    GICv3 with legacy supp. ARM GICV3 driver initialized in EL3
INFO:    plat_rockchip_pmu_init(1089): pd status 3e
INFO:    BL31: Initializing runtime or EL3 exit to normal world
INFO:    Entry point address = 0x20

U-Boot 2019.01-armbian (Apr 23 2019 - 20:23:00 +0200)

Model: FriendlyElec NanoPC-T4
DRAM:  3.9 GiB
MMC:   dwmmc@fe310000: 2, dwmmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from EXT4...
** Unable to use mmc 0:auto for loading the env **
In:    serial@ff1a0000
Out:   serial@ff1a0000
Err:   serial@ff1a0000
Model: FriendlyElec NanoPC-T4
rockchip_dnl_key_pressed: adc_channel_single_shot fail!
Net:   
Error: ethernet@fe300000 address not set.
eth-1: ethernet@fe300000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
** No partition table - mmc 0 **
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
369 bytes read in 1 ms (360.4 KiB/s)
ALTLinux Boot Options
1:      linux
2:      5.0.4-mp-alt1
Enter choice: 1:        linux
Retrieving file: /boot/initrd.img
5432598 bytes read in 354 ms (14.6 MiB/s)
Retrieving file: /boot/vmlinuz
16736768 bytes read in 1084 ms (14.7 MiB/s)
append: root=LABEL=ROOT ro cma=192M console=tty1
Retrieving file: /boot/dtb/rockchk3399.dtb
** File not found /boot/dtb/rockchip-evb_rk3399.dtb **
Skipping linux for failure retrieving fdt
2:      5.0.4-mp-alt1
Retrieving nitrd-5.0.4-mp-alt1.img
5432598 bytes read in 352 ms (14.7 MiB/s)
Retrieving file: /boot/vmlinuz-5.0.4-mp-alt1
16736768 bytes read in 1084 ms (14.7 MiB/s)
append: root=LABEL=ROOT ro cma=192M console=tty1
Retrieving file: /lib/devicetree/hip-evb_rk3399.dtb
** File not found /lib/devicetree/5.0.4-mp-alt1/rockchip-evb_rk3399.dtb **
Skipping 5.0.4-mp-alt1 for failure retrieving fdt
Sstarting USB...
USB0:   USB EHCI 1.00
USB1:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
Retrieving file: /boot/extlinux/pxelinux.cfg/00000000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/0000000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/000000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/00000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/0000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/00
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/0
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm-rockchip
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.

Ядро как видно не стартовало, так как не нашлись запрашиваемые dtb. Но таки u-boot отработал без проблем.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
То же самое, но уже с загрузчиком от alt-rootfs-installer:
DDR Version 1.14 20180803
In
Channel 0: LPDDR3, 933MHz
CS = 0
MR0=0x58
MR1=0x58
MR2=0x58
MR3=0x58
MR4=0x2
MR5=0x1
MR6=0x5
MR7=0x0
MR8=0x1F
MR9=0x1F
MR10=0x1F
MR11=0x1F
MR12=0x1F
MR13=0x1F
MR14=0x1F
MR15=0MR16=0x1F
CS = 1
MR0=0x58
MR1=0x58
MR2=0x58
MR3=0x58
MR4=05
MR7=0x0
MR8=0x1F
MR9=0x1F
MR10=0x1F
MR11=0x1F
x1F2=0x1F
MR15=0x1F
MR16=0x1F
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=2048MB
Channel 1: LPDDR3, 933MHz
CS
MR2=0x58
MR3=0x58
MR4=0x2
MR5=0x1
MR6=0x5
MR7=0x0
MR8=0x10=0x1F
MR11=0x1F
MR12=0x1F
MR13=0x1F
MR14=0x1F
MR15=0x1F
0=0x58
MR1=0x58
MR2=0x58
MR3=0x58
MR4=0x2
MR5=0x1
MR6=0x5
MR9=0x1F
MR10=0x1F
MR11=0x1F
MR12=0x1F
MR13=0x1F
MR14=0x1=0x1F
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=2048MB
256B stride
ch 0 ddrconfig = 0x101, ddrsize = 0x2020
ch 1 ddrconfig = 0x101, ddrsize = 0x2020
pmugrf_os_reg[2] = 0x3AA0DAA0, stride = 0xD
OUT
Boot1: 2018-08-06, version: 1.15
CPUId = 0x0
ChipType = 0x10, 213
SdmmcInit=2 0
BootCapSize=100000
UserCapSize=14910MB
FwPartOffset=2000 , 100000
mmc0:cmd5,20
SdmmcInit=0 0
BootCapSize=0
UserCapSize=14760MB
FwPartOffset=2000 , 0
StorageInit ok = 148413
SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit read PBA: 0x1404
SecureInit read PBA: 0x1804
SecureInit read PBA: 0x1c04
SecureInit ret = 0, SecureMode = 0
GPT 0x3190d20 signature is wrong
LoadTrust Addr:0x4000
No find bl30.bin
No find bl32.bin
Load uboot, ReadLba = 2000
hdr 00000000031906c0 + 0x0:0xd0,0x0d,0xfe,0xed,0x00,0x00,0x05,0x6f,0x00,0x00,0x00,0x38,0x00,0x00,0x04,0xec,

tag:LOADER error,addr:0x4000
hdr 00000000031906c0 + 0x0:0x42,0x4c,0x33,0x58,0x00,0x01,0x00,0x00,0x 2400
hdr 00000000031906c0 + 0x0:0x84,0x0c,0x27,0x00,0x00,0x00,00,0x00,0x00,0x00,

tag:LOADER error,addr:0x4400
hdr 00000000+ 0x0:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0Load OK, addr=0x200000, size=0x9d43c
RunBL31 0x10000
NOTICE:  BL31: v1.3(debug):f947c7e
NOTICE:  BL31: Built : 14:21:58, Aug 26 2018
NOTICE:  BL31: Rockchip release version: v1.1
INFO:    GICv3 with legacy support detected. ARM GICV3 driver iEL3
INFO:    plat_rockchip_pmu_init(1089): pd status 3e
INFO:    BL31: Initializing runtime services
INFO:    BL31: Preparingld
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3

U-Boot 2019.01-armbian (Apr 23 2019 - 20:23:00 +0200)

Model: FriendlyElec NanoPC-T4
DRAM:  3.9 GiB
MMC:   dwmmc@fe310000: 2, dwmmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from EXT4...
** Unable to use mmc 0:auto for loading the env **
In:    serial@ff1a0000
Out:   serial@ff1a0000
Err:   serial@ff1a0000
Model: FriendlyElec NanoPC-T4
rockchip_dnl_key_pressed: adc_channel_single_shot fail!
Net:   
Error: ethernet@fe300000 address not set.
eth-1: ethernet@fe300000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
** No partition table - mmc 0 **
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
369 bytes read in 1 ms (360.4 KiB/s)
ALTLinux Boot Options
1:      linux
2:      5.0.4-mp-alt1
Enter choice: 1:        linux
Retrieving file: /boot/initrd.img
5432598 bytes read in 354 ms (14.6 MiB/s)
Retrieving file: /boot/vmlinuz
16736768 bytes read in 1084 ms (14.7 MiB/s)
append: root=LABEL=ROOT ro cma=192M console=tty1
Retrieving file: /boot/dtb/rockchip-evb_rk3399.dtb
** File not found /boot/dtb/rockchip-evb_rk3399.dtb **
Skipping linux for failure retrieving fdt
2:      5.0.4-mp-alt1
Retrieving file: /boot/initrd-5.0.4-mp-alt15432598 bytes read in 353 ms (14.7 MiB/s)
Retrieving file: /boot/vmlinuz-5.0.4-mp-alt1
16736768 bytes read in 1084 ms (14.7 MiB/s)
append: root=LABEL=ROOT ro cma=192M console=tty1
Retrieving file: /lib/devicetree/5.0.4-mp-alt1/rockchip-evb_rk339** File not found /lib/devicetree/5.0.4-mp-alt1/rockchip-evb_rk3399.dtb **
Skipping 5.0.4-mp-alt1 for failure retrieving fdt
SCRIPT FAILED: continuing...
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
Retrieving file: /boot/extlinux/pxelinux.cfg/00000000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/0000000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/000000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/00000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/0000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/000
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/00
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/0
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm-rockchip
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/default-arm
No ethernet found.
Retrieving file: /boot/extlinux/pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.

Не знаю, почему u-boot пытается грузить именно эти dtb, но их нет в каталоге devicetree. Вместо, например, rockchip-evb_rk3399.dtb там rk3399-evb.dtb.

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
То же самое, но уже с загрузчиком от alt-rootfs-installer:

Поясните ваши действия, пожалуйста. Я вижу, что записан u-boot от Armbian:
U-Boot 2019.01-armbian (Apr 23 2019 - 20:23:00 +0200)

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Вчера под конец дня я уже не заметил, что u-boot в обеих случаях один тот же. Однако, первый лог я получил после:
dd if=idbloader.bin of=/dev/sdd seek=64 conv=notrunc status=none
dd if=uboot.img of=/dev/sdd seek=16384 conv=notrunc status=none
dd if=trust.bin of=/dev/sdd seek=24576 conv=notrunc status=none

А второй лог соответственно после:
dd if=idbspl.img of=/dev/sdd seek=64
dd if=u-boot.itb of=/dev/sdd seek=16384

В первом случае загрузчик из armbian, во втором из Альта. Может где-то ошибся и после armbian-го загрузчика Альтовский реально не прописался на карточку.

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Надо будет вам повторить эксперимент.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Повторим, куда деваться то.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Нахожусь в некотором недоумении. Я было подумал, что вчера в чем-то ошибся и не записал альтовский загрузчик. Но сегодня проверил. Он присутствует на карточке, но все равно отрабатывает u-boot от armbian. В итоге я воспользовался alt-rootfs-installer. Но все равно отрабатывает u-boot от armbian. Поковыряв карточку, я обнаружил, что по смещению 0x800000 находится альтовский u-boot, а по смещению 0x900000 находится u-boot armbian.
В общем сейчас уже не соображаю. Единственное, что пока могу сказать, что u-boot от armbian без разницы, какая разметка gpt или mbr. Он в любом случае грузит альтовское ядро и пытается его стартовать. Ядро, как и раньше не подает признаков жизни.

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Поковыряв карточку, я обнаружил, что по смещению 0x800000 находится альтовский u-boot, а по смещению 0x900000 находится u-boot armbian.

Сравните размеры файлов у Альта и Armbian, пожалуйста.
Скорее всего Альтовский u-boot не перезаписывает полностью u-boot от Armbian, и от него остаётся часть. Надо занулить пространство занятое u-boot Armbian, и только потом писать Альтовский u-boot.

Ну, и крамольная мысль, что если альтовский u-boot наоборот записать:
dd if=u-boot.itb of=/dev/sdd seek=64
dd if=idbspl.img of=/dev/sdd seek=16384

Ещё может проблема у alt-rootfs-installer, что флаг загрузочный не тот у раздела выставляется. Поэкспериментируйте. Не забываем, что у раздела должна быть метка ROOT.

Всё это в порядке бреда :-)
« Последнее редактирование: 26.04.2019 06:02:08 от Антон Мидюков »

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Сравните размеры файлов у Альта и Armbian, пожалуйста.
Скорее всего Альтовский u-boot не перезаписывает полностью u-boot от Armbian, и от него остаётся часть. Надо занулить пространство занятое u-boot Armbian, и только потом писать Альтовский u-boot.

Единственное объяснение, которое приходит на данный момент в голову следующее. Образ u-boot Armbian может содержать в себе две копии u-boot. Когда он записывается, начиная с сектора/блока 16384, то первая копия как раз ложится по адресу 0x800000, а вторая по адресу 0x900000. Соответственно, когда я переписываю альтовский u-boot, то перезаписывает только область с 0x800000, а по адресу 0x900000 остается вторя копия u-boot Armbian. Вечером я посмотрю размеры.

Ну, и крамольная мысль, что если альтовский u-boot наоборот записать:
dd if=u-boot.itb of=/dev/sdd seek=64
dd if=idbspl.img of=/dev/sdd seek=16384

Это действительно крамольная мысль, так как idbspl.img - это загрузчик первого этапа. Он должен быть первым. Хотя никто не знает, что там у Rockchip-а в brom находится, и как оно работает. Может быть, что читаются контрольные адреса из предопределенного списка и по ним ищется сигнатура miniloader/idbspl. Насколько я помню,  miniloader и idbspl это блобы от вендора. Как они устроены тоже неизвестно. Но теперь можно предположить, что он в поиске сигнатуры u-boot-а сканируют список предопределенных адресов. И видимо делают это в порядке убывания адресов. При первом обнаружении нужной сигнатуры грузят u-boot. Первым находится u-boot Armbian. Но все это в данный момент представляет чисто академический интерес. По сути же можно пока заключить следующее.
1. u-boot Armbian вполне себе нормально грузит в память и пытается стартовать альтовское ядро. Это внушает надежду на то, что в альтовском u-boot-е осталось что-то немного подкрутить, чтобы он стал выполнять свою функцию. Возможно нужен корректный dtb  именно для T4. К сожалению на сегодня мы не можем это проверить. Плат из списка поддерживаемых альтовским u-boot-ом ни у кого нет.
2. Альтовское ядро не стартует. Причем не стартует глухо. Т.е. от него вообще никакого отклика нет. Это наводит на грустные мысли. Опять же возможно все дело в отсутствии подходящего dtb. Но по той же причине прямо сейчас это проверить не представляется возможным. В этой связи именно в плане продвижения к успешному запуску Альта на soc от Rockchip было бы весьма полезным собрать ядро 5.1.

Проблема осложняется тем, что собираете софт вы, а тестирую его я. В таком режиме переклички эта бодяга может затянуться надолго.

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Возможно нужен корректный dtb  именно для T4.

А если подложить от Armbian его?

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
А если подложить от Armbian его?

Я это пробовал, когда были ядра 4.20.х. Ядро грузится и тишина - светодиод активности не моргал, в последовательный порт никаких сообщений не выдавалось.
В настоящий момент с альтовской rootfs я не въехал, как указать u-boot-у грузить dtb именно для T4. Он тупо грузит для evb. Я попробую еще 5.0 от альта. Месяц назад я пробовал сравнивать конфиги ядер альта и armbian-а. Особой разницы не нашел, кроме того, что в вашем ядре добавлены какие-то конфиги/опции для других SOC.

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

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
В настоящий момент с альтовской rootfs я не въехал, как указать u-boot-у грузить dtb именно для T4.

Так переименуйте T4 в то, что он пытается грузить.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Тоже вариант, попробую.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Глянул образ armbian-го u-boot. В нем 3, или 4 копии u-boot-а записаны с интервалом в 0x100000 байт.
Записал dtb от T4 под тем именем, под которым armbian-ий u-boot грузит по умолчанию dtb. Ядро и dtb загрузились, но дальше глухо, как в танке.

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 9 001
Как-то так получается, что на jeos-sysv время системное не устанавливается после загрузки системы. Вернее устанавливается, но весьма редко (с соединением всё хорошо), в большинстве случаев не устанавливается. Пришлось костылять rc.local с ntpdate -b server для предварительной синхронизации системного времени (сайт должен получить корректную сегодняшнюю дату) и последующим запуском веб-сервера в ручном режиме без оглядки на отключенный политикой запуск при старте. Запущенный сервис chrony вроде бы как работает и в статистике показывает разницу по времени, но синхронизацию по факту загрузки не выполняет. ntpdate всё делает быстро и чётко (тем более, что достаточно это сделать один раз в самом начале). Но вообще говоря, платы без аппаратных часов оптимизма не внушают. Но мало кушают при 4 ядрах, это да.