Сборка кросс-системы
AssemblerIA-64 16 июня, 2008 - 20:13
Вот собрал себе 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
$ equery b
Пересобрать?
Пожалуйста, не описывайте своё железо в подписи
bootstrap
Стал делать по другому -- скачал stage1 и стал его bootstrap'ить.
Но, возникла ошибка при сборке sys-apps/texinfo-4.11-r1:
make[4]: *** Нет правила для сборки цели `../gnulib/lib/libgnu.a', требуемой для `makedoc'. Останов.
Что мне делать с этим?
Мой ${SYSROOT}/etc/make.conf
Не молчите,
Не молчите, пожалуйста.
А мона не
А мона не скромный вопрос?
Зачем тебе поная кроссовая система?
Для сборки большинства софта достаточно тулчейна и кроссдев.
ЗЫ есть канал на 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, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера