Сборка кросс-системы

Вот собрал себе ia64 cross-toolchain:

USE="-*" crossdev -v --binutils 2.18-r1 --gcc 4.3.1 --kernel 2.6.25-r4 --libc 2.7-r2 --ex-gdb --target ia64-unknown-linux-gnu

Теперь пытаюсь собрать систему.
Взял из руководства http://www.gentoo.org/proj/en/base/embedded/cross-development.xml обёртку для emerge (сценарий xmerge):

#!/bin/bash
CBUILD=$(portageq envvar CHOST)
PORTAGE_CONFIGROOT="$SYSROOT"
if [[ "$1" == "--root" ]] ; then
    ROOT="$2"
    shift 2
else
    ROOT="$SYSROOT"
fi
export CBUILD PORTAGE_CONFIGROOT ROOT

emerge $*

И когда я запускаю

xmerge -av gentoo-sources

система мне выдаёт:

/usr/bin/xmerge: line 1: #!/bin/bash: Нет такого файла или каталога


!!! /root/etc/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)



These are the packages that would be merged, in order:

Calculating dependencies /
!!! All ebuilds that could satisfy "sys-kernel/gentoo-sources" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-kernel/gentoo-sources-2.6.25-r4 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.25-r3 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.25-r2 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.25-r1 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.25 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r8 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r7 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r6 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r5 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r4 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r3 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r2 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24-r1 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.24 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.23-r9 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.22-r10 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.20-r10 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.19-r5 (masked by: missing keyword)
- sys-kernel/gentoo-sources-2.6.16-r13 (masked by: missing keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.

P.S.

  • Символьная ссылка на профиль:
    ln -snf /usr/portage/profiles/default/linux/ia64/2007.0/desktop /usr/ia64-unknown-linux-gnu/etc/make.profile
  • make.conf для кросс-системы:
    ACCEPT_KEYWORDS="~ia64"
    ARCH="ia64"
    CFLAGS="-O3 -pipe"
    CHOST="ia64-unknown-linux-gnu"
    CXXFLAGS="${CFLAGS}"
    GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
    INPUT_DEVICES="keyboard"
    MAKEOPTS="-j3"
    USE="ia64 symlink"
    

Подскажите, пожалуйста, как решить эти проблемы?
Спасибо.

Я когда собирал

Я когда собирал ядро для арм сделал по другому:
попросту скопировал свои исходники в /usr/src

# mkdir /usr/src/linux-2.6.24-gentoo-r8-arm
# cp -fpR /usr/src/linux/* /usr/src/linux-2.6.24-gentoo-r8-arm/

потом оредактировал корневой Makefile как указано здесь и сделал

# make mrproper
# make defconfig

Всё у вас есть исходники готовые для сборки ядра под другую архитектуру.

Хм, странно, а

Хм, странно, а почему не работает способ через portage?
Особенно убивает ошибка
/usr/bin/xmerge: line 1: #!/bin/bash: Нет такого файла или каталога
Bash-то стоит!

sys-libs/ss-1.40.9 failed

Теперь установил профиль правильно:
ln -snf /usr/portage/profiles/default-linux/ia64/2007.0/desktop ${SYSROOT}/etc/make.profile
Возникла другая проблема: не хочет собираться sys-libs/ss-1.40.9

/usr/libexec/gcc/ia64-unknown-linux-gnu/ld: skipping incompatible /usr/lib/libcom_err.so when searching for /usr/lib/libcom_err.so
/usr/libexec/gcc/ia64-unknown-linux-gnu/ld: cannot find /usr/lib/libcom_err.so
collect2: ld returned 1 exit status
make: *** [libss.so.2.0] Ошибка 1
make: Leaving directory `/var/tmp/portage/sys-libs/ss-1.40.9/work/e2fsprogs-1.40.9/lib/ss'
 *
 * ERROR: sys-libs/ss-1.40.9 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2351:  Called die
 * The specific snippet of code:
 *       emake -C lib/ss COMPILE_ET=compile_et || die "make ss failed"
 *  The die message:
 *   make ss failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-libs/ss-1.40.9/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/ss-1.40.9/temp/environment'.
 *

$ equery b

$ equery b /usr/lib/libcom_err.so
[ Searching for file(s) /usr/lib/libcom_err.so in *... ]
sys-libs/com_err-1.40.8 (/usr/lib/libcom_err.so)

Пересобрать?


Пожалуйста, не описывайте своё железо в подписи

bootstrap

Стал делать по другому -- скачал stage1 и стал его bootstrap'ить.
Но, возникла ошибка при сборке sys-apps/texinfo-4.11-r1:
make[4]: *** Нет правила для сборки цели `../gnulib/lib/libgnu.a', требуемой для `makedoc'. Останов.
Что мне делать с этим?

Мой ${SYSROOT}/etc/make.conf

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /etc/make.conf.example for a more detailed example.
CFLAGS="-O3 -pipe"
CXXFLAGS="${CFLAGS}"
# This should not be changed unless you know exactly what you are doing.  You
# should probably be using a different stage, instead.
CHOST="ia64-unknown-linux-gnu"

USE="-X -kde -gnome icc gmp ia64 symlink"
ACCEPT_KEYWORDS="ia64 ~ia64"
FEATURES="collision-protect"
INPUT_DEVICES="keyboard"

GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ "

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

Не молчите,

Не молчите, пожалуйста.

А мона не

А мона не скромный вопрос?
Зачем тебе поная кроссовая система?
Для сборки большинства софта достаточно тулчейна и кроссдев.
ЗЫ есть канал на freenod #gentoo-embedded
там можешь задать вопросы про кросс сборку
___________________________________________
Gentoo GNU/Linux 2.6.25 GCC 4.3.1
Working on Gentoo for iPAQ hx4700 :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

Хочу её

Хочу её запустить под эмулятором.

тогда проще

тогда проще ливсд и стейжи =)
а не кросссборка
___________________________________________
Gentoo GNU/Linux 2.6.25 GCC 4.3.1
Working on Gentoo for iPAQ hx4700 :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".