Новый стабильный стейж для кпк
alexxy 21 мая, 2007 - 00:38
Сегодня стала доступна первая стабильная версия stage-3+ для hx4700 и других кпк с поддержкой iwmmxt (на базе процессоров pxa27x), разработанная в рамках проекта Gentoo on PDA, поддерживаемого нашим сообществом.
- Используемый профайл 2007.0
- Ядро 2.6.21-hh0 (ядро и модули пока только для hx4700 внутри тарбола в каталоге /root)
- glibc-2.5-r2
- GCC-4.1.2
- binutils-2.17.50.16
- baselayout-2.0.0_alpha3
Стейж можно скачать отсюда ftp://gentoo.ru/projects/handhelds/stages/stage3-armv5te-iwmmxt-gnueabi-20070520.tar.bz2
Все собранные пакеты доступны через рсинк rsync://gentoo.ru/gentoo-pda-eabi-iwmmxt
»
- Для комментирования войдите или зарегистрируйтесь
rx1950
Собственно вопрос: можно ли использовать данный стейдж для развертывания на rx1950?
Нашел ядро для сего девайса, распаковал стейдж, гружусь с помощью haret, грузится, но виснит на:
"Freeing init memory: 120K"
До этого пробовал с стейджем Opae-rootfs-h1240 работало. :\
Содержание default.txt:
set MTYPE 0x3b8
set KERNEL "zImage-2.6.20"
set RAMADIR 0x30000000
set REMSIZE 0x2000000
set CMDLINE "root=/dev/mmcblk0p2 rootdelay=5 panic=30"
bootlinux
А есть ли
А есть ли возможность устанавливать на кпк с SD карты? Т.е. на SD создать 2 раздела и распаковать стэйдж туда?
Ставить можно =)
Ставить можно =) Если будете ядро загружать через haret
Читайте вики =)
___________________________________________
Gentoo GNU/Linux 2.6.22 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)
установка на SD
Имеется 2 карточки: SD на гиг и CF на 128 метров. Могу ли я залить ядро на CF а систему на SD и при этом нормально работать, не пользуясь всяческими загрузчиками типа haret и т.п.?
а мне более
а мне более интересен процесс создания данного стейджа, так как нет желания выкачивать сотню мегабайт бинарей при наличии исходников
В общем я
В общем я просто хотел сказать, что это весьма большое шаманство с нестабильными и несобирающимися пакетами. Куча проблем. И нормально функционирует только нативная сборка на КПК, котороая очень медленная. Если интерес все равно не пропал, то могу конечно и поподробнее написать.
интерес все равно не пропал
Интерес только возрос :) а то до сих пор видел только готовые сборки с handhelds.org
Пара месяцев
Пара месяцев есть лишних? Сначала надо собрать кросскомпилятор, им собрать минимальную систему для КПК, которая будет безбожно глючить т.к. кросскомпилятор глючит, например bash и binutils надо просто брать бинарные, мы брали от другого дистрибутива и тупо копировали файлы. Когда оно со скрипом заработает, производится нативная пересборка чистого chroot окружения на КПК, после чего КПК переключается на нативный стейдж. А дальше идет процесс выбора и сборки отдельных пакетов. Чисто по времени нативная сборка минимального окружения займет на КПК недельку-другую.
Проще скачать готовый стейдж.
со сборкой
со сборкой кросскомпилятора как раз проблем никаких нет, только что собрал arm-elf-binutils+gcc+gdb в линуксе под mingw (также самосборным mingw32-binutils+gcc). со временем тоже проблем быть не должно :) - на работе переходим под армы. меня интересует именно сам процесс :) и на сколько сильно он отличается от "linux from scratch" (книжка такая есть :)
Процесс в
Процесс в принципе описан во в этом документе:
http://arcanux.org/guidexml/cross-development.html
Смысл заключается в том, что при помощи небольшой оболочки система портежей перенастраивается на сборку пакетов в нестандартный корень. Т.е. получается, что сборочная система находится вне собираемой системы (это штатная фишка портежей, но мало кто о ней знает). Кроме того активируется режим кросскомпиляции. Это тоже штатная фишка портежей.
В оптимистическом случае просто запустив xmerge --root /my/arm/root system получаем готовую базовую систему для arm. По крайней мере для mips роутеров так точно сибирали системы, это в GVN было. Но в реальности натываемся на две проблемы:
1) Для некоторых пакетов кросскомпиляция невозможно, если не ошибаюсь, например для perl. Ну берут эти приложения и собирают утилиты, которыми потом пытаются собирать себя. В принципе есть хитрые утилиты (кажись buildroot называется), коорые выполняют все приложения, кроме кросскомпилятора как такового на виртуальной машине соответсвующей архитектуры. На portage вроде пока так не умеет. Так что с такими пакетами облом.
2) Бажные компиялторы. Мы пытаемся собирать стейджи с eabi, который реализован только в 4ом gcc, коорый еще не совсем стабилизовался. В общем он хреново кросскомпилирует. Что-то работает (больщая часть минимально необходимых утилит), что-то вообще не работает (bash, глючит адски), что-то поглючивает (кросовео ядро для A620 играло звук очень тихо и с огромными искажениями, я его долго дебажил, пока простой kprintf() не решил проблему, тогда я понял, что баг в компиляторе, а не в ядре). Можете использовать gcc 3.сколько.то.там, тогда эта проблема отпадет.
В итоге в режиме кросскомпиляции был сделан начальный образ, это выполнил Alexxy, частично в него жестко были встроены бинарные пакеты от ангстрома, например binutils, после чего из этого кое-как работающего стейджа с использованием xmerge был собран нативно относительно стабильный стейдж, который сейчас и выложен на ftp. Ну а дальше пакеты к ним собираем.
Я не знаю, что написано в книже "linux from scratch", но если это то, о чем я думаю, то многим. В идеале, процесс создания стейджа под другую архитектуру мало отличается от нативной сборки, после насройки окружения. В любом случае, имеем многочисленные прелести gentoo.
PS Также можно обратить внимение на проект tinyGentoo, там описано, как максимально выкинуть все ненужное,обещают, что можно уложиться и в 20 метров. Но так как нам нужна нативная сборка и мы используетм glibc, то размер самого базового стейдже требует немало места, метров 200-300, а мой текущий образ, с кучей ненужный пакетов (экспериментирую, ищу те, которые нужны) требует уже гигововй карточки. Кроме того можно использовать uclibc вместо glibc, чем дополнительно снизить аппетит системы. Но я лично хочу C++.
PS Сейчас система собрана с -Os, возможно перейдем на -O2
не.. не совсем
не..
не совсем так ...
я coreutils и bash из ангстрома выколупывал...
бинутилсы только нестабильные работают...
_________________
Gentoo GNU/Linux 2.6.21 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)
Quote:я coreutils и bash
Ну я вроде так и написал. Но теперь можно использовать и бинарные гентушные пакеты, собранные нами. Так чище получится и проще.
Кроме того я обновил статью:
http://ru.gentoo-wiki.com/HOWTO_Gentoo_на_КПК
Исправил там то, что изменилось, немного дописал на тему создания стейджа с нуля. Писать более развернуто я сейчас не в состоянии, да и к очередному экзамену надо готовиться.
спасибо, буду
спасибо, буду разбираться :)
Народ а wine под
Народ а wine под кпк можно скомпилить? Это было бы вообще суперски и винмобайл прибило - бы точно!!! Вообще полноценного чтонибудь можно завести? типа иксы, кде или гном (ну или по легче чтонибудь но с qt и gtk)...
Вобщем все ли приложения что идут на обычный комп можно скомпилить под кпк? какие особенности, трудности? что требуеться?
_________________
GA-P965-DS3/C2D-E6320 2.94 GHz/2Gb/SATAIIx160/GF7600GT-256/Gentoo-x86_64
Quote:Вобщем все
Не все но многие. Из базовых приложений все т.к. arm платформа на сегодняшний день не менее распространениа, чем x86. Постепенно приложения портируют. Особенности: пока еще весьма нестабильный компилятор, который нормально работает только в нативном режиме, да и сломанную кросскомпиляцию у многих пакетов. Трудности: основной лимитирующий фактор, который я обнаружил на сегодняшний день - очень маленикий экран. Многие приложения на нем не умещаются и с ними некомфортно работать. Именно поэтому стоит смотреть на довольно приличное количество linux приложений, написанных для КПК (в частности sharp zaurus). И, собственно говоря, я сейчас занимаюсь поиском тех приложений, с которыми будет удобно работать.
Вайн собрать
Вайн собрать можно, тогда ты сможешь запускать виндовые приложения, собранные под arm (wine is not an emulator). Т.к. виндов под arm нет, то и таких приложений нет. Можешь собрать qemu и эмулировать там 386 и запускать там винды, но учти, что мой athlon 64 3200+ когда эмулирует arm систему через qemu работает раза в полтора медленнее КПК. Так что и про это забудь.
Иксы у нас стоят полноценные. Впрочем, маленькие сборки иксов, оптимизированные под КПК, по API не должны отличаться от полноценных. gtk стоит. qt, гадина, пока не хочет собираться.
Про gnome и kde. Есть вроде кто-то, кто использует kde у себя на armовской системе... Но с дисплеем 320x240 забудь про gnome и kde т.к. нифига не поместится. В настоящий момент наиболее вероятно использование matchbox, можно fluxbox или icewm. На разрешении 640x480 e17. Т.е. в теории любой оконный менеджер, только далеко не каждый там будет удобен.
Как же кеды
Как же кеды работают без qt? А дисплей будет 640х480 так что не критично... Собственно жду пока ядро доделают для x51v... А пока придётся на винде кантоваться...
_________________
GA-P965-DS3/C2D-E6320 2.94 GHz/2Gb/SATAIIx160/GF7600GT-256/Gentoo-x86_64
А он как-то
А он как-то собрал qt. Или, может быть? qt-embedded. У меня пока это не получилось.
собрать-то
собрать-то можно - Х там и есть нормальный, только кеды ворочаться будут... э... мягко скажем медленно, нужен wm лёгкий, мачбокс например
На hx2100
А будет ли работать на серии hx2100 (например, iPAQ 2190b)?
Про поддержку
Про поддержку ядра смотри тут:
http://www.handhelds.org/moin/moin.cgi/HpIpaqHx2000
Вроде в основном поддержка есть. Основан на PXA270, используй стейдж от Alexxy. Работать будет.
Поддержка XEN планируется?
В материалах летней конференции по XEN 2006 люди из Японии (Самсунг?) представили доклад о реализации XEN в КПК (мобильниках) и , по-моему, в процах на основе ARM. Расписана архитектура и принципы реализации. Необходимость сего шага объясняется желанием изолировать скаченные приложения (java, игрушки и тд) и серфинг от важных (платежки, например)
а ссылочку
а ссылочку мона?
насколька мне известно xen работает на x86 x86_64 ppc ppc64 alpha
и вроде все...
в их листе рассылке я никаких упоминаний про arm не видел...
ЗЫ может ты имеешь в виду проци omap2 с поддержкой ява машины ( те ее хардовое ускорение )
_________________
Gentoo GNU/Linux 2.6.21 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)
Да вот ссылка на доклад (pdf)
http://www.google.ru/url?sa=t&ct=res&cd=6&url=http%3A%2F%2Fwww.xensource.com%2Ffiles%2Fxensummit_4%2FSecure_Xen_ARM_xen-summit-04_07_Suh.pdf&ei=PWF0Ron0BaC20QSU3qClCQ&usg=AFQjCNGoBoUIBcTcAvl_xmqobV8VYuc_kQ&sig2=_7659rr0GiWSbDSzXqjIyA
Сейчас
Сейчас планируется получить систему, с которой бы было удобно работать. Я сейчас занимаюсь подбором нужных мне прикладных проиложений, их доработкой напильником и т.д. Так что в ближайшее время целенаправленно XEN заниматься наверное не будем.
Но если все модификации, нужные для запуска XEN на ARM протолкнули в апстрим, то еслть вероятность, что его можно собрать и он заработает.
Как же хочется
Как же хочется на глофише м700 генту... =/
Отличная
Отличная новость!
Будем тестить!
Интерестно...
Интерестно... для dell axim x51v когданибудь наладят полноценное ядро с поддержкой оборудования или нет... ибо 4700 уже не продаются да и выпуск их закончен! А вот с делом на оборот... к тому - же видюха там попонтовей...
Эх... опаздывает лина на мобильных девайсах... Если на домашних компах винда и провалится - то на кпк будет лидером - если так дела будут вяло идти...
_________________
GA-P965-DS3/C2D-E6320 2.94 GHz/2Gb/SATAIIx160/GF7600GT-256/Gentoo-x86_64
а что
а что вяло?
спеков на девайсы нет...
что за железо не ясно...
вот народ и выкручивается как умеет ;-)
ну а винда по сравнению с линукс на кпк это просто обрубок оси...
ЗЫ на данный момент базовая система стабильна =) и вопрос поддержки девайса сводится к поддержке его ядром ;-)
_________________
Gentoo GNU/Linux 2.6.21 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)
Винда может и
Винда может и обрубок но альтернативы пока нет...
_________________
GA-P965-DS3/C2D-E6320 2.94 GHz/2Gb/SATAIIx160/GF7600GT-256/Gentoo-x86_64