ARCH=arm CROSS_COMPILER
ARCH=arm CROSS_COMPILE=...
mkimage -A arm -O linux -T kernel -C none -a 0xa0008000 -e 0xa0008000 -n "Linux 2.6" -d arch/arm/boot/zImage kernel.img
Частью какого пакета является mkimage?
P.S. Прикладываю попытку сделать ебилд... несамая удачная думаю... но ядро он собирает, вот нет пока возможности проверить, будет ли ядро грузится... В основе используются патчи от OZ (единственное что модифицировал - это подправил пути по котором их накладывать надо, что-бы можно их было использовать). В теории должно работать деление на "машинки" - т.е. USE="akita" emerge gentoo-zaurus - попробует собрать ядро для C1000 (используя ОЗшный конфиг). USE="spitz" - для C3000. USE="borzoi" - для 3100/3200 и т.п.
P.S.S. Обновил. Ибо не тот патч в комплекте.
P.S.S. 3-я версия ебилда.
Доступные USE флаги:
akita - приложить конфиг для C1000
spitz - приложить конфиг для C3000
borzoi - приложить конфиг для C3100/3200
c7x0 - приложить конфиг для c7x0 (700/750/760/860)
collie - приложить конфиг для SL-5000/5500
poodle - приложить конфиг для SL-5600
tosa - приложить конфиг для SL-6000
pc - отключить патчи для зауруса.
eabi - CROSS_COMPILE="armv5te-softfloat-linux-gnueabi" вместо CROSS_COMPILE="armv5te-softfloat-linux-gnu"
build - собрать с конфигом и сделать kernel.img (на чём-то отличном от akita, borzoi и spitz - скорее всего работать не будет, т.к. собирается с одними и теми-же параметрами)
для ck-zaurus-sources ещё несколько доп. флагов:
reiser4 - поддержка reiser4
unionfs - поддержка unionfs
P.S.S.S. Некоторое подобие инструкции по сборке crossdev ( пока что gentoo-only и по сути перевод gentoo-wiki слегка адаптированный под нужды, немного грубый )
1) нужно выбрать место для оверлая. Допустим /usr/local/arm_portage
Выполняем:
mkdir -p /usr/local/arm_portage/
Соответственно добавим в /etc/make.conf строчку:
PORTDIR_OVERLAY = "/usr/local/portage"
2) Нам нужен crossdev - собираем его:
emerge -av crossdev
3) По сути crossdev может собрать различные стадии:
-s0 - только binutils
-s1 - s0 + gcc (без libc и g++!)
-s2 - s1 + kernel headers
-s3 - s2 + libc
-s4 - s3 + g++
Выбираем название для архитектуры.
Рекомендуется прочесть дальше тему что-бы правильно выбрать (т.е. что-бы не городить огород из кучи компиляторов для одной цели с разным названием у каждого сборщика)
Допустим мы определилсь, что будем собирать самую общую систему для нашего zaurus'а. Тогда делаем:
crossdev -s4 --target armv5te-softfloat-linux-gnu
Вкратце поясню по какому критерию выбрано такое обозначение:
armv5te - архитектура процессора, используемая в заурусе. Softfloat - показывает, что собирать мы планируем с эмуляцией вещественных вычислений (с плавающей точкой), linux - no comments, gnu - glibc со стандартным ABI.
Далее будет идти продолжительный процесс сборки (как никак glibc, gcc и g++ - достаточно крупные пакеты).
После чего мы готовы к работе. И можем приступить к самой сборке
Zaurus SL-C3100. Gentoo.
HP iPAQ rx1950
zavrik.ru team