ARCH-i386

задача: собрать систему для работы на первом пне, для ускорения процесса решил собирать
на i686 Intel(R) Celeron(R) CPU 1.70GHz GenuineIntel GNU/Linux, вот что я сделал:

mkdir i586
cd i586
tar -xjvpf /mnt/cdrom/stage3-x86-2006.0.tar.bz2
chroot /i586
env-update
source /etc/profile
mount /usr/portage (дерево с NFS-сервера)
emerge metadata

make.conf
CFLAGS="-O2 -march=i586 -pipe"
CXXFLAGS="${CFLAGS}"
CC="gcc"
CXX="g++"

CHOST="i586-pc-linux-gnu"

USE="
hardened
unicode
-X
-qt
-kde
-gnome
-gtk
-ipv6
"

PORTAGE_TMPDIR=/var/tmp
PORTDIR=/usr/portage
DISTDIR=${PORTDIR}/distfiles
PKGDIR=${PORTDIR}/packages.pentium
GENTOO_MIRRORS="http://src.gentoo.pl

emerge -euD world
gcc-config -l
[1] i586-pc-linux-gnu-3.4.5 *
[2] i586-pc-linux-gnu-3.4.5-hardenednopie
[3] i586-pc-linux-gnu-3.4.5-hardenednopiessp
[4] i586-pc-linux-gnu-3.4.5-hardenednossp
[5] i586-pc-linux-gnu-3.4.5-vanilla

ставим ядро
emerge -pv gentoo-sources
These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild NS ] sys-kernel/gentoo-sources-2.6.15-r1 -build -doc +symlink (-ultra1) 0 kB

Total size of downloads: 0 kB

cd /usr/src/linux
make menuconfig
cp .config /etc/kernels/kernel-config-x86-2.6.15-r1
genkernel all

и получаем граблю

genkernel.log

klibc/send.o: In function `send':
klibc/send.c:9: undefined reference to `__guard'
klibc/send.c:11: undefined reference to `__stack_smash_handler'
klibc/recv.o: In function `recv':
klibc/recv.c:9: undefined reference to `__guard'
klibc/recv.c:11: undefined reference to `__stack_smash_handler'
klibc/libgcc/__divdi3.o: In function `__divdi3':
klibc/libgcc/__divdi3.c:11: undefined reference to `__guard'
klibc/libgcc/__divdi3.c:29: undefined reference to `__stack_smash_handler'
klibc/libgcc/__moddi3.o: In function `__moddi3':
klibc/libgcc/__moddi3.c:11: undefined reference to `__guard'
klibc/libgcc/__moddi3.c:29: undefined reference to `__stack_smash_handler'
klibc/libgcc/__udivdi3.o: In function `__udivdi3':
klibc/libgcc/__udivdi3.c:11: undefined reference to `__guard'
klibc/libgcc/__udivdi3.c:13: undefined reference to `__stack_smash_handler'
klibc/libgcc/__umoddi3.o: In function `__umoddi3':
klibc/libgcc/__umoddi3.c:11: undefined reference to `__guard'
klibc/libgcc/__umoddi3.c:16: undefined reference to `__stack_smash_handler'
klibc/libgcc/__udivmoddi4.o: In function `__udivmoddi4':
klibc/libgcc/__udivmoddi4.c:5: undefined reference to `__guard'
klibc/libgcc/__udivmoddi4.c:32: undefined reference to `__stack_smash_handler'
make[2]: *** [klibc/libc.so] Ошибка 1
make[1]: *** [all] Ошибка 2
make: *** [klibc] Ошибка 2
* Gentoo Linux Genkernel; Version 3.3.11
* Running with options: all

* ERROR: Failed to compile the "ARCH=i386" target...
* -- Grepping log... --
* -- End log... --
c чем это может быть связано?

Покажи вывод

Покажи вывод комманды:

# binutils-config -l

Возможно нужно будет пересобрать пакет binutils.

Система

Система полностью пересобиралась после правки make.conf
emerge -euD world

# binutils-config -l
[1] i586-pc-linux-gnu-2.16.1 *

__________________
Главное не забыть mount /dev/hands

Странно

Странно, на сколько я понял конфиг в ручную был создан, попробуй в ручную скомпилировать ядро. Т.е.

cd /usr/src/linux
make

make дает тот же

make дает тот же результат, genkernel пользуюсь только для автоматизации
момента сборки и копирования образа
меня смущает вот эти строчки они повторяются довольно часто
undefined reference to `__guard'
undefined reference to `__stack_smash_handler'

_________________
Главное не забыть mount /dev/hands

Видимо дело в

Видимо дело в конфиге ядра, поиграйся с ним. Я тоже бывало сталкивался с тем, что две опции конфликтовали друг с другом, так же посмотри - какой процессор указан в конфиге ядра.

P.S. Попробуй ещё

P.S. Попробуй ещё вот что:

# cd /usr/src/linux
# cp .config ~/
# make mrproper
# mv ~/.config ./
# make

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

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