Linux на AllWinner A10 | [Обсуждение установки на AllWinner A10]



Реп: (40)
Предлагаю в этой теме обсуждать методы установок Linux на Планшеты и Свистки с AllWinner A10.

Процесс загрузки A10
Итак: AllWiller A10 имеет закрытую для изменения область, которая называется BROM (он же BIOS).
BROM загружает из (EXT-SD, NAND) файл boot0, который содержит некую информацию об оборудовании.
Основная же информация об оборудовании находится в файле sys_config.fex. Существуют разные утилиты, позволяющие редактировать этот Конфиг Файл. После того, как boot0 поднят, BROM загружает boot1 (служит для поднятия остальных устройств), boot1 в свою очередь загружает boot.axf. Для загрузки Linux, далее boot.axf загружает U-Boot, остальное же U-Boot берёт на себя.

В AllWinner принцип загрузки таков: brom -> boot0 -> boot1 -> boot.axf -> u-boot -> kernel
Подробней процесс загрузки описан вот тут.


В интернете так же полно информации об установке Linux на "свистки" типа MK802. Но вот информации об установке Linux на Планшеты с A10 в качестве основной системы не много. Прошу собраться усилиями, помочь кто как может.

Метод установки Ubuntu Linux на устройства с A10.

Проделав то что описано ниже, вы НЕ РИСКУЕТЕ ничем, кроме как потерей информации на вашей Флешке. Делайте Бэкап.

Основная проблема: Читать только тем, у кого Планшеты
Если у вас "Свисток" то пропустите это.
Хочется сразу рассказать о подводных камнях. На Буржуйских форумах мелькают сообщения о том, что им удавалось без проблем запустить Ubuntu описанным ниже методом на планшетах. НО у меня на Ainol Novo 7 Aurora этого не удалось. Суть проблемы: Всё успешно записалось на флешку, вставляю sdcard, включаю планшет... и тишина! только планшет греется, значит все-же работает.
Получается BROM зацепляет загрузчик с флешки, но это ядро Убунты не может инициализировать дисплей, из-за этого даже подсветка не работает, планшет не подает признаков работы, разве только греется немного. В этом случае советуют проверить работу с HDMI, ибо сборка для "свистка", у которого нет своего дисплея, но у меня к сожалению нет возможности проверить HDMI. Опыта по сборке кастомного ядра для Андроида не имею, собирал только ядро для домашней Убунты.
Вобщем пока это и есть основная проблема.
Нужна помощь в сборке и допиливании ядра.

Внимание: Этот метод уничтожит все ваши данные на внешней MicroSD карте!
Флешка должна быть 4 GB и более!, иначе образ системы не скопируется полностью.

Пользователям Linux/Mac:
  • Скачайте желаемый образ по ссылкам ниже
  • Распакуйте образ (например p7zip CLI is p7zip -d lubuntu-desktop-12.04-4-miniand.com.img.7z)
  • Подключите MicroSD карту к компьютеру не монтируя её
  • Определите адрес устройства утилитой fdisk: sudo fdisk -l (Получите например: /dev/sdd)
  • Скопируйте образ командой dd, убедитесь в правильности адреса устройства (dd if=lubuntu-desktop-12.04-2-miniand.com.img of=/dev/sdd)
  • Убедившись что образ записан: sudo sync
  • Выключив ваше Android устройство, вставьте флешку и включите его

Пользователям Windows:
  • Скачайте желаемый образ по ссылкам ниже
  • Распакуйте образ программой 7-zip
  • Подключите SD карту к компьютеру
  • Скопируйте образ на флешку программой Image Writer
  • Выключив ваше Android устройство, вставьте флешку и включите его


ЕСЛИ ПЛАНШЕТ БОЛЬШЕ НЕ ВКЛЮЧАЕТСЯ!
Не влючаться он может только по одной причине: Ему мешает загрузчик который находится на флешке. Извлеките Флешку, и он включится. Флешку вернуть в прежнее состояние можно простым форматированием в Windows, а в Linux снеся таблицу разделов.
sudo dd if=/dev/zero of=/dev/sdХ bs=1M count=1


Скачать: Lubuntu 12.04 + Xubuntu 12.04 + A10 Debian Server
Некоторые образы Ubuntu для АllWinner A10 доступны тут


Вот еще интересный метод установки Android и Linux на Elf.

Причина отсутствия подсветки Дисплея Найдена!
Ainol Novo 7 Aurora - Распаковать и заменить этот файл на первом FAT разделе Прикрепленный файлevb.bin.tar.gz ( 6.9 КБ )

На другие планшеты это вряд ли подойдет, поэтому, выдирайте ваш "родной" script0.bin, переименовывайте его в evb.bin и кладиде в корень первого раздела, заменяя другой файл. (если кому-то не понятно как это делается, пишите, я попробую объяснить)

Вот полезный совет от tuscanman
Собирать командой make ARCH=arm sun4i_defconfig
Это для задания параметров ядра. Затем, конечно же, нужно make ARCH=arm menuconfig и пройтись по опциям. Ну, а сборка - build.sh -p sun4i, только там нужно подрихтовать путь к компилятору. Конкретно - в /scripts/build_sun4i.sh привести в порядок эту строку:
export CROSS_COMPILE=arm-none-linux-gnueabi-
После "=" прописать путь (что-то вроде /src/toolchain/arm/bin/arm-none-linux-gnueabi-).

Скрипт еще и образ рамдиска сделает, и образ загрузочный (boot.img)


Ссылки с интересной информацией об A10


Сообщение отредактировал Zyomich - 28.03.16, 21:39
Причина редактирования: Поправил ссылки



Реп: (124)
По поводу ядра - можно попробовать интегрировать из CM9 by Quarx (это мод для Ainol Aurora, само ядро собрать из гита автора)
Еще не понятно как в случае чего перепаковать этот образ. Есть инфа по данному вопросу?
В общем-то, если будет известен способ перепаковки, то могу поучаствовать в оживлении, т.к опыт танцев с бубном над линуксом имеется :)

Сообщение отредактировал uno.kms - 23.07.12, 17:55



Реп: (40)
uno.kms,
Было бы не плохо интегрировать это ядро! :)
А вот насчет того, как перепаковать образ... Как я понял, это полный образ разбитой флешки, создавался так же коммандой dd. Можно ли в Linux монтировать такие образы для rw ? Если нет, то как вариант, перенести его на флешку той же dd, да "ручками" попытаться засунуть ядро в тот раздел. Запаковать той же
dd if=/dev/sdX of=/mnt/backup/sda.img conv=sync,noerror

На флешке получается два раздела: первый вроде бы Fat(16-32?), второй Ext(2-4?). Я знаю что BROM ищет boot0 на файловой системе Fat. Остальное наверное уже для ядра и самой системы.
Для меня куда страшее - сама замена ядра. "Что? Как?" :D

Сообщение отредактировал ExIM - 23.07.12, 18:04



Реп: (124)
ExIM, там на этом форуме, где выложен собственно образ системы, написано в коментах как подмонтировать этот образ в линуксе:
sudo mount -o loop,offset=$((512*2048)) lubuntu-desktop-12.04-1-miniand.com.img mnt
sudo mount -o loop,offset=$((512*34816)) lubuntu-desktop-12.04-1-miniand.com.img mnt2

Но вот как состряпать образ - ни слова (хотя, может я плохо смотрел?)
Вот еще там засвечен гит с последним ядром под наши девайсы:
https://github.com/amery/linux-allwinner/tr...linux-3.3-sun4i



Реп: (40)
uno.kms,
Состряпать его не составит особого труда. :) Правда там столько мелочей...обязательно что-нибудь упущу.
А если редактировать уже перенесенный на флешку образ как есть (редактированием файлов), то чтоб получить этот образ, достаточно будет создать посекторную копию флешки командой
dd if=/dev/sdX of=/mnt/backup/sda.img conv=sync,noerror
Сейчас попробую перепаковать образ без флешки научным методом тыка. :)

Попросту говоря, то что нам сейчас нужно - Редактирование образа жесткого диска без самого жесткого диска. Вроде как-то так.

Сообщение отредактировал ExIM - 23.07.12, 18:21



Реп: (124)
ExIM, да, получается что так. Этот образ - это и есть простой dd с флешки автора, в котором разделы тупо оффсетами можно словить :)
Надо будет купить флешку и попробовать помедитировать над этим всем. В)



Реп: (40)
uno.kms,
У вас Linux? Если да, то спешу обрадовать, флешка не нужна! У меня получилось открыть образ как папку, и редактировать файлы в нем.
su
mkdir /mnt/android && mkdir /mnt/android/1 && mkdir /mnt/android/2
mount -o loop,offset=$((512*2048)) lubuntu-desktop-12.04-4-1080p-1GB-miniand.com.img /mnt/android/1
mount -o loop,offset=$((512*34816)) lubuntu-desktop-12.04-4-1080p-1GB-miniand.com.img /mnt/android/2

после этого, если открыть например sudo dolphin, можно напрямую копировать/удалять/изменять файлы.
uImage это и есть ядро? Он лежит в /mnt/android/1, попробуете заменить его? :)

Сообщение отредактировал ExIM - 23.07.12, 18:33



Реп: (7)
Сейчас попробую на Онде сделать :thank_you: Надеюсь не убьюсь :happy:



Реп: (40)
D=b2-4ac,
ничего страшного случиться не должно. :yes2:
Ждем ваших результатов!



Реп: (7)
Скопируйте образ на флешку программой Image Writer

Можно подробнее?



Реп: (35)
для меня пока вопрос , что такое evb.bin в загрузчике и за что он отвечает.
придется ставить linux , дальше смотреть утилитой fex2bin ( из sun4i tools), под винду аналога пока не нашел

По поводу ядра - можно попробовать интегрировать из CM9 by Quarx (это мод для Ainol Aurora, само ядро собрать из гита автора)

да, я думаю не обязательно его собирать , можно попробовать просто прописать параметры загрузки, создать раздел для убунту, залить туда собранный образ и попытаться загрузиться.
к тому же наш uboot позволяет грузиться с флешки, проверено опытным путем.
да, и кстати , я наверно был немного в ступоре, когда после формата флешки с записанной ubuntu из шапки, которая естественно не грузилась ( из-за других конфигов от mele) и выдавала черный экран.
причем я стирал все разделы и форматировал fdisk ' ом - все без толку.

Оказывается, чтобы больше не грузиться с этой флешки достаточно было снести таблицу разделов командой

sudo dd if=/dev/zero of=/dev/sdb bs=1M count=1

потому как загрузчик занимал с 1-2048 сектор ( или 1024 - уже не помню).
вообщем он туда прописывается и обычными утилитами формата не удалится.
Это к вопросу того, что сейчас здесь начнется сообщения, что скачали образ и теперь планшет не включается, не прошивается и прочее - мол, труп и все.
Не все же пользователи догадаются вынуть флешку.

под виндой можно использовать программу flashnul http://shounen.ru/soft/flashnul/#download
flashnul e: -F --range=0;2048 -P
, где e: - вставленная флешка, !аккуратно, не путать с хардом


Вот еще там засвечен гит с последним ядром под наши девайсы:
https://github.com/amery/linux-allwinner/tr...linux-3.3-sun4i

засвечен, но пока там все нестабильно

Сообщение отредактировал 777L - 31.07.12, 14:17



Реп: (124)
D=b2-4ac, к сожалению не подскажу по этой проге ничего, т.к винды на компе нет.
Думаю все должно быть просто. Указываете образ *.img, указываете флешку и вуаля. Если сложнее, то пишите, будем разбираться и писать гайд на ходу :)



Реп: (40)
D=b2-4ac,
Качайте Бинарник для Windows. В графе Image File выбирайте распакованный образ системы, Device - ваша флешка. Write - записать образ. Всё просто. ;)



Реп: (35)
да, я записывал кстати через винду этим image writer ' ом - все ок.

нашел все же , что такое evb.bin
http://www.cnx-software.com/2012/05/06/edi...les-script-bin/
вообще на этом ресурсе есть все для сборки и инфы, только читать надо внимательно.
там еще и скриптов море для облегчения работы



Реп: (7)
Простите, просто не тот архив открыл :rofl:



Реп: (40)
777L, хорошо что заметили. Внес ваш совет в шапку. :)
В остальном, есть Асы способные пересобрать ядро для Авроры? Меня интересуют сами конфиги, может кто сможет заняться этим? В крайнем случае, предоставлю свой Linux Ubuntu с VNC cервером для упрощения работы..если у кого Only Windows.))

Да и кстати! Кто тестирует этот метод установки Linux, если планшет "не включается", пробуйте HDMI!

Сообщение отредактировал ExIM - 23.07.12, 19:14



Реп: (35)
ExIM, вся хитрость в том, что обычном форматированием флешку вы не вернете в нормальное состояние ( что в linux, что в windows , ну может только низкоуровневым или спец утилитой какой-нибудь...
я пробовал и fdisk и gparted , и в винде стандартным, причем форматил в разные файловые системы, думал... а потом я понял- что обычный формат начальные сектора не трогает.. )
для меня это было вопросом по не знанию элементарных основ хранения информации.
поэтому может полезным окажется.

Сообщение отредактировал 777L - 23.07.12, 19:14



Реп: (124)
да, evb.bin это обычный board config. В авроре тоже такой есть - script0.bin
лежит рядом с ядром на разделе загрузчика.

Теперь осталась нераскрытой тема активации экрана. Если брать ядро от авроры, то модули должны быть в /system/lib/modules (в циане так по крайней мере), а в нормальном линуксе модули лежат в /lib/modules/$kernel_ver/kernel. Тут либо пересобирать ядро из гита Amery, либо смотреть где в кварксовом прописывается это.



Реп: (35)
еще кстати - есть же прошивка под elf с дуалбутом
http://www.slatedroid.com/topic/32646-wip-...-03ubuntu-1204/
можно попробовать его допилить для начала, может проще будет, заодно понять , как там оно реализовано.
где-то здесь видел очень дельный пост , как в этой прошивке устроено и, как организовывать мультизагрузку.
чуть позже найду.

Добавлено 23.07.2012, 19:25:





Теперь осталась нераскрытой тема активации экрана. Если брать ядро от авроры, то модули должны быть в /system/lib/modules (в циане так по крайней мере), а в нормальном линуксе модули лежат в /lib/modules/$kernel_ver/kernel. Тут либо пересобирать ядро из гита Amery, либо смотреть где в кварксовом прописывается это.

пишут, что нужно банально скопировать их в rootfs в lib/modules/

There are some files specific to A10 in the rootfs, namely the kernel modules and OpenGL ES files, so we need to extract them in order to copy in the our new rootfs lateron.

cd mnt2
tar cjvf ../a10_modules_3.0.8.tar.bz2 lib/modules/3.0.8+/
tar cjvf ../a10_opengles.tar.bz2 lib/libUMP.so lib/libEGL.so lib/libGLESv2.so lib/libGLESv1_CM.so lib/libMali.so
cd ..
sudo umount mnt


Сообщение отредактировал 777L - 23.07.12, 19:25



Реп: (40)
777L, Тоже пробовал эту прошивку. Шился через ЛайвСьюит. Результат один: Черный экран. Насколько помню, он у меня даже в Андроид не грузился. Не уж то такое большое различие в Elf и Aurora?

uno.kms @ 23.07.2012, 22:18 *
да, evb.bin это обычный board config. В авроре тоже такой есть - script0.bin

Что самое интересное, на первом разделе образа Убунты лежит именно evb.bin. Может его для начала переименовать в привычный для Авроры вид script0.bin? На каком этапе идет вызов script0.bin?

А вот насчет модулей, даже не знаю. Сколько модулей отвечает хотя бы за активацию подсветки? Чтоб хоть его найти, и как-то засунуть в убунту. Хотя засунуть это пол-беды, там ведь надо его прописать как-то.
Может попробовать скопировать uImage с цианогена в этот первый раздел?

Сообщение отредактировал ExIM - 23.07.12, 19:30



Реп: (35)
ExIM, а вы не пробовали подсунуть ему script.bin и script0.bin от авроры ?


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 14:48