LINUX.ORG.RU

hardkernel охернел

 ,


1

5

Вообщем, сижу ставлю CentOS на свой MX Plus (Amlogic S905, Cortex A53, 64-bit) никого не трогаю. Все относительно беспроблемно, осталось завести mali-drm и bluetooth. И тут нашел «готовое» решение, сборочка для еще не вышедшего Odroid-C2, ядро и убунта.

Ядро той же версии (3.14), что и у производителя, только mali уже в ядре, поддержка overlayfs и т.д. Ядро загрузил, монитор заработал, все запипись. Решил посмотреть, что за убунта... И вот тут наступил полный gpl.

Сразу после загрузки, монитор погас и в uart посыпались повторяющиеся сообщения:

GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:F3;SD:0;READ:0;CHK:0;
TE: 261364
***** Warning!! *****************************************************
* This board have not been autorized or product keys are not valid. *
* Please contact with Hardkernel or your distributor                *
*********************************************************************
Выключил/включил. Тоже самое, сразу, без сообщений и возможности выбора загрузки в uboot. Вытащил карту:
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:F3;SD:800;USB:8;LOOP:1;EMMC:0;READ:0;CHK:F3;SD:800;US
B:8;LOOP:2;EMMC:0;READ:0;CHK:F3;SD:800;USB:8;LOOP:3;EMMC:0;READ:0;CHK:F3;SD:800;USB:8;LOOP:4;EMMC:0;READ:0;CHK:F3;SD:800
;USB:8;LOOP:5;EMMC:0;READ:0;CHK:F3;SD:800;USB:8 ...
Вставил, опять первое.

Согласно этого, на карте есть: MBR, uboot и uboot environment. Это сообщение содержится в MBR. Я так понимаю, эта пад.. перезаписала в моем uboot какие-то переменные (ну не стерла же она его?!) и теперь пытается грузится только с карты и только через свой mbr, который загружается только на odroid.

Вообщем, как теперь сбросить настройки uboot? На боксе ни каких кнопок (типа reset) нет. Неужели опять осталось только доставать прищепку и прошивать на прямую (не пойми какой flash без маркировки)?

Log загрузки ubuntu: http://pastebin.com/7HhU8d89

★★★★★

Последнее исправление: CYB3R (всего исправлений: 2)

Скомпилировал/поставил свой uboot на sd карту, вместо odroid-ного. Убунта (mate) загрузилась: libreoffice, firefox, vlc (трещит, показывает слайды)...
Все разделы на месте (вкючая mmcblk1boot0 и 1), родной android тоже грузится. Что снесло мне uboot не понятно. Теперь могу загружаться только с карточки.

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

Убил день, но повторил эксперимент.

Нашел утилиты fw_printenv, fw_setenv (в убунте были), угадал три числа

/etc/fw_env.config:
/dev/mmcblk1 0x27400000 0x10000 0x10000
восстановил все переменные (env). Ничего не поменялось.
Прошил uboot в emmc (я не знаю почему я этого сразу не сделал). Заработало.
Заново залил на флешку убунту (восстановление файла .first_boot в корне не срабатывает).
Кердык, читай топик с начала (putty.log). Hardkernel тупо гробит мой uboot!

arson ★★★★★
() автор топика
Ответ на: комментарий от alt-x

Да. Но у vlc проблемы с hw-декодингом даже на обычных компах.
Надо будет mplayer/mpv попробовать.

arson ★★★★★
() автор топика
Ответ на: комментарий от alt-x

В xorg драйвера положить забыли, простой фреймбуфер (хотя у amlogic-а все драйвера вроде есть), видео 700х500 30% потерь, про HD молчу. Mate жрет лишних 300М (по сравнению с IceWM), на хрена он на такой приставке (с 1G RAM), ради красивых кнопочек/рамочек.

arson ★★★★★
() автор топика
Ответ на: комментарий от gag

На, фома неверующая.
Включил компьютер, открыл терминал с top-ом, открыл браузер.

Стационарник, CentOS 7 x86-64, IceWM

top - 02:56:29 up 0 min,  1 user,  load average: 0,98, 0,25, 0,08
Tasks:  91 total,   1 running,  90 sleeping,   0 stopped,   0 zombie
%Cpu(s): 18,0 us,  3,3 sy,  0,1 ni, 76,1 id,  2,5 wa,  0,0 hi,  0,1 si,  0,0 st
KiB Mem :  1941312 total,  1456636 free,   175688 used,   308988 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1639332 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                            
  867 arson     20   0  898576 166240  68128 S  36,7  8,6   0:02.93 seamonkey                                          
  826 root      20   0  248588  39852  20888 S   2,0  2,1   0:00.58 X                                                  
  514 root      20   0  227952  17432  12712 S   0,0  0,9   0:01.21 rsyslogd                                           
  834 arson     20   0  177152  12252   6140 S   0,1  0,6   0:00.11 urxvtd                                             
  839 arson     20   0  196864  11172   9432 S   0,4  0,6   0:00.22 icewm                                              

Приставка ubuntu 16.04 (mate), Amlogic S905 (aarch64)

top - 19:04:40 up 3 min,  2 users,  load average: 0.54, 0.43, 0.18
Tasks: 179 total,   3 running, 176 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.6 us,  1.5 sy,  0.0 ni, 84.5 id,  1.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   828900 total,    77264 free,   501176 used,   250460 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   284832 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                   
 1356 odroid    20   0  700620 141868  46116 S  36.8 17.1   0:05.53 firefox                                   
  541 root      20   0  205948 102076   8992 S   9.1 12.3   0:13.60 Xorg                                      
  983 odroid    20   0  692308  62264  14776 S   0.6  7.5   0:04.99 mate-panel                                
 1068 odroid    20   0  392076  39392  18656 S   0.0  4.8   0:01.97 blueman-applet                            
 1009 odroid    20   0  588080  35112  20088 S   0.3  4.2   0:02.49 caja                                      

Сравнение конечно не совсем корректное, может у arm-а архитектура такая жручая :)

arson ★★★★★
() автор топика
Ответ на: комментарий от gag

В любом случае всё не так плохо с RES, как и ожидалось.

175688 used,
501176 used,
Что у тебя ожидалось?!

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

может у arm-а архитектура такая жручая :)

Я на арме под гентой очень некисло резал опциями gcc размер бинарника (Os + --gc-sections + -s + thumb), но размер сожранной софтиной был +- одинаковым.

devl547 ★★★★★
()
Ответ на: комментарий от arson

Что у тебя ожидалось?!

Mate жрет лишних 300М (по сравнению с IceWM)

Я пытался сравнить исключительно Mate (Marco window manager) vs IceWM, а не десктопы с разными приложениями после разного времени работы с ними, что сравнивать бессмысленно.

gag ★★★★★
()
Ответ на: комментарий от gag

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

Разница +-30сек :), приложения одинакового функционала.

Я пытался сравнить исключительно Mate (Marco window manager) vs IceWM

А вот это действительно бессмысленно сравнивать, IceWM - все в одном, и 20 процессов mate (mate-session - 3шт!?, mate-panel, mate-clock, mate-power). И зачем сравнивать, когда вопрос был в другом, нафига это на такой приставке.

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

нафига это на такой приставке.

А, у oroid-c2 будет 2G RAM, поэтому им пофигу.

arson ★★★★★
() автор топика

Тупняк лежал прямо в корне, в виде файла aafirstboot:

...
case "$1" in
    start)
                if [ -f /.first_boot ]; then
                        # ok, its the very first boot, we need to resize the disk.
                        p2_start=`fdisk -l /dev/mmcblk0 | grep mmcblk0p2 | awk '{print $2}'`
                        p2_finish=$((`fdisk -l /dev/mmcblk0 | grep Disk | grep sectors | awk '{printf $7}'` - 1024))

                        fdisk /dev/mmcblk0 <<EOF &>> /home/odroid/resize.log
p
d
2
n
p
2
$p2_start
$p2_finish
p
w
EOF
...
Только устройство /dev/mmcblk0 оказалось не картой с убунтой, а внутренним eMMC. Сообщение "This board have not been autorized or product keys are not valid..., насколько я понял, выводится при возникновении ошибки при выполнении uboot.

Как результат: после установки «пиратской» убунты система вываливается в «черный экран» с сообщением, что у меня не лицензионное железо! Финиш!

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

I have the same problem, stupid odroid

Sorry, I can only type in English. I tried the same thing as you did, and I am so angry that odroid ruined my TV box. I think they might had changed the fuse map to direct the boot mode to SD when there is no eMMC module accoding to sd_fuse/sd_fusing.sh

More, they judge wether it is a valid odroid board through the MAC fuse, according to http://forum.odroid.com/viewtopic.php?f=117&t=17797&p=116640

I am too stupid to try so, and my odroid-c2 is on the way...

ying030312
()
Ответ на: I have the same problem, stupid odroid от ying030312

Надо просто скомпилировать и поставить uboot заново.

Нужно иметь USB-RS232(TTL) адаптер (типа такого).
Скачать: toolchain_1, toolchain_2, uboot
Знать ревизию платы (вариантов не много: gxb_200, gxb_201, gxb_skt)

#распаковать toolchains в /opt
export PATH=$PATH:/opt/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/
export PATH=$PATH:/opt/CodeSourcery/Sourcery_G++_Lite/bin
# выполнить в каталоге uboot
ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- make  gxb_p200_v1_config
В каталоге fip взять два файла u-boot.bin.sd.bin и u-boot.bin
Первый записать на sd-card
fdisk -l /dev/SDCARD_DEV
dd if=u-boot.bin.sd.bin of=/dev/SDCARD_DEV
ВНИМАНИЕ: затрется таблица разделов, восстановить с помощью команды fdisk.
Вставить sd-card, загрузиться.

Чтобы грузиться без sd-card, нужно подключиться к плате через USB-RS232(TTL) адаптер (ВНИМАНИЕ: красный (+5V) провод не подключать)
Скопировать u-boot.bin на sd-card (fat раздел), зайти в u-boot и выполнить:

mmcinfo 
fatload mmc 0 12000000 u-boot.bin
store rom_write 12000000 0 D4000
Где D4000 размер u-boot.bin в шестнадцатиричном виде.

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

ВНИМАНИЕ: затрется таблица разделов, восстановить с помощью команды fdisk.

А если так:dd if=u-boot.bin.sd.bin of=/dev/SDCARD_DEV bs=1024 seek=8 ?

ass ★★★★
()
Ответ на: комментарий от ass

bs=1024 seek=8

Пропустить целых восемь килобайт?! Ну не знаю. Таблица разделов вроде несколько десятков байт в районе 512 байта. Проще ввести два числа в fdisk.

arson ★★★★★
() автор топика
Ответ на: комментарий от alt-x

насколько оно ускорится.

Как-то все пока не весело.
Все дело в «прокладках» (ump - устаревшая, lib-dma - новая). Модуль ядра собирается только с поддержкой lib-dma, модуль Xorg только с поддержкой ump. X-ы с mali-драйвером запускаются, но в логах ошибки, mplayer (из amlogic-овского buildroot-а) работает чуть лучше чем vlc (в убунте).

Еще проблема с определением монитора, нужно передернуть hdmi разъем, чтобы приставка увидела монитор.

arson ★★★★★
() автор топика
Последнее исправление: arson (всего исправлений: 1)

Привет.

Похоже у нас железки на близкой платформе (у меня Tronsmart Vega S95 Telos), т.к. получил очень похожий вывод в консоль, когда подключил UAR-переходник, и такая инфа повторялась в бесконечном цикле :

GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; TE: 47953 no sdio debug board detected

BL2 Built : 15:24:17, Oct 28 2015. gxb g5d0d038 - xiaobo.gu@droid05

Board ID = 1 set vcck to 1100 mv set vddee to 1000 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 diff

Было бы интересно сравнить вывод команд u-boot printenv и help.

balbes150
()
Ответ на: комментарий от arson

Пытаюсь собрать u-boot, но получаю ошибку

../fip/fip_create: 1: ../fip/fip_create: Syntax error: "(" unexpected

make[1]: *** [fip.bin] Ошибка 2

make: *** [sub-make] Ошибка 2

В чём может быть причина ?

balbes150
()
Ответ на: комментарий от arson

-rwxrwxr-x 1 user user 4681 окт. 31 15:42 acs_tool.pyc

-rwxrwxr-x 1 user user 174 окт. 31 15:42 bl2_fix.sh

-rwxrwxr-x 1 user user 13897 окт. 31 15:42 fip_create

drwxrwxr-x 2 user user 4096 февр. 20 23:01 gxb

balbes150
()
Ответ на: комментарий от arson

Спасибо за наводку, только сообразил глянуть на исполняемость, оказалось он под 64 бита, а я пытаюсь собирать в 32-х битной виртуалке.

Версия u-boot пока не критична, главное что-бы собралось с добавкой в виде ext2load, а то её нет в родном u-boot.

balbes150
()
Ответ на: комментарий от arson

Thank you for your reply. I had managed to recover the U-Boot.

I am trying to get the odroid kernel and ubuntu up and run.

Thanks.

ying030312
()
15 апреля 2016 г.
Ответ на: комментарий от arson

Добавлю в Вашу тему, может кому-то пригодится, но если не к месту, можете смело удалять. Для восстановления загрузчика во внутренней памяти, после того, как его убивает одройдовский образ (как понял, это происходит из-за того, что скрипт первичной инициализации не корректно расширяет разделы, хотя могу ошибаться), можно обойтись без консоли UART и сделать всё через карту. Достаточно записать на нее загрузчик и файл штатного обновления прошивки, BOOT ROOM («одинокая"цикличная строка - от него) сам стартует без всяких кнопок ресетов с SD карты и с USB, если не находит в eMMC загрузчик. Подробности тут : https://github.com/150balbes/Amlogic_s905/wiki/Восстановление-загрузчика-(Unb...

balbes150
()
Ответ на: комментарий от alt-x

было б интересно узнать, насколько оно ускорится.

Amlogic выложил новые ядро/модули/buildroot.

Непонятки с dma-buf и UMP остались. Ядреный модуль собирается только с dma-buf, из последней версии opengl даже libUMP убрали, а X-ый модуль требует UMP :( X-ы ругаются, но запускаются.

mplayer - почти тянет fullhd на процессоре, чуть-чуть не хватат. Причем mali тут не причем, fbdev/fbturbo/mali приблизительно одинаково.

gst-player-1.0 - играет fullhd на декодере (загрузка cpu - 12%), но только две минуты и при этом выключает звук (через 1 сек) :)

arson ★★★★★
() автор топика
Ответ на: комментарий от alt-x

жаль. Ну, может в следующей версии поправят...

Ну да, еще полгодика подождать :)
Я все-таки надеюсь разобраться с кодеком из gstreamer-а.

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

X-ы ругаются, но запускаются.

(EE) Error: MaliSetup
(EE) Error: MaliIdentify
(EE) Error: MaliProbe
(EE) Error: MaliHWProbe
(EE) MALI(0): [mali_drm_open_master:1326] Error: mali_drm_open_master DRM OPEN (fd: 0x7)
(EE) MALI(0): [mali_drm_open_master:1326] Error: mali_drm_open_master DRM OPEN (fd: 0x7)
(EE) MALI(0): [maliSetupExa:586] Error: failed to open UMP subsystem
(EE) Error: enter to aml_disp_init
(EE) Error: success to aml_disp_init

По совету с одного форума попробовал подсунуть Xorg-драйвер c arm.com, заодно сравнил исходники.
Все сообщения, кроме одного, это насколько я понял не ошибки, а отладочные сообщения.
Китайцы просто понатыкали в начало некоторых функций ERROR_STR("Имя_функции");

Ошибка одна failed to open UMP subsystem, и как результат:

(WW) MALI(0): [MaliScreenInit:1661] Warning: Failed allocating EXA Driver!

arson ★★★★★
() автор топика

Выпустили убунту 2.0
Заявлено: X11 EGL acceleration
Из проблем: Some 4K video files rendering on Kodi is not smooth. Т.е. с FullHD проблем нет!?

НО, как и с S805, «заточили» ядро под себя и теперь похоже на не их платах облом.

arson ★★★★★
() автор топика
Ответ на: комментарий от balbes150

Заводят галочку «hardkernel odroid board» без которой не собирается, а с ней не запускается :)

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

Странно. У меня на Spot i7 и на Tronsmart Telos этот образ (после не большого допиливания, что-бы не убивался родной загрузчик и корректно отработала первичная загрузка) работает. Кстати, Хром там работает из коробки, расход памяти по free на i7 (на нём по характеристикам 1 Гб ОЗУ, хотя free пишет что всего 740 в наличии, и Openelec показывает столько же), около 370 Мб под пользователя, Хром сжирает еще 200. Интерфейс бывает подтормаживает, но грешу на то, что использую «не_оптимизированные» конкретно под новые исправления в ядре самосборные dtb файлы от OE. Возможно если поковырять их на предмет использования тех же возможностей, что есть в dtb Odroid, может что-то и улучшится.

balbes150
()
Ответ на: комментарий от balbes150

работает

Обнадежил, попробую еще поковырятся с ихним ядром.
Видео то как? Fullhd крутит? А 4K?

arson ★★★★★
() автор топика
Ответ на: комментарий от arson

Для видео\аудио - на этих железках меня устраивает Openelec\Libreelec, максимально заточены на это дело и не грузят систему лишним приблудами, особенно это заметно при 1 Гб, разница получается заметной, а если еще доведу до ума и volumio (начал, но пришлось отложить, не хватает времени) можно будет вообще без подключения ТВ к приставкам обходится для ряда задач. Поднятием этих вещей в Linux пока не заморачивался. Linux мне нужен пока для других целей, благо, что переключения с одной системы в другую не составляет труда, воткнул нужную карточку или флэшку и пользуйся.

balbes150
()
Ответ на: комментарий от balbes150

Поднятием этих вещей в Linux пока не заморачивался

?!
vlc в образе есть. Какие заморочки открыть в нем пару файлов?

arson ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.