genkernel --no-clean all or initrd will fail genkernel --no-clean kernel works Failure is on busybox build: attempts to use locally built busybox binary by the --busybox-bin flag fail with unknown option. Reproducible: Always Steps to Reproduce: 1.genkernel --no-clean initrd on Alpha platform 2. 3. Actual Results: genkernel failure on applets.h when building the busybox binary. Expected Results: properly built busybox Attempted workarounds (locally built busybox binary) don't work as the flags in the genkernel program to use local busybox-bin are not recognized. See http://archives.gentoo.org/ml/gentoo-dev/2004/02/msg_00668.xml Portage 2.0.53_rc5 (default-linux/alpha/2005.0, gcc-3.4.4, glibc-2.3.4.20041102-r1,glibc-2.3.2-r12, 2.6.13 alpha) ================================================================= System uname: 2.6.13 alpha EV56 Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.2.3-r5, 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="alpha ~alpha" AUTOCLEAN="yes" CBUILD="alpha-unknown-linux-gnu" CFLAGS="-mcpu=ev56 -mtune=ev56 -O3 -pipe -mieee -mno-soft-float -mfp-regs" CHOST="alpha-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=ev56 -mtune=ev56 -O3 -pipe -mieee -mno-soft-float -mfp-regs" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.ccccom.com ftp://gentoo.ccccom.com ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.netnitco.net" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="alpha X aalib arts berkdb bitmap-fonts cdr crypt cups curl dlloader eds encode esd ev56 fam flac font-server foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 guile imagemagick imap imlib jpeg kde kerberos kerberosV ldap libg++ libwww mad mailwrapper mikmod motif mozilla mp3 mpeg mysql ncurses nls ogg oggvorbis opengl oss pam pdflib perl php pic png python qt quicktime readline ruby samba sambai sasl sdl slang smb spell ssl tcltk tcpd tiff tls truetype truetype-fonts type1-fonts udev vorbis winbind xine xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
Found a potential workaround. emerge -B busybox 1.01 from portage tree. backup .config of the busybox-1.01 build copy the /usr/share/genkernel/alpha/busy-config to .config /var/tmp/portage/busybox-1.01/work/busybox-1.01 make oldconfig diff the two files (.config from make oldconfig and the backup version of the successful build). updated the /etc/genkernel.conf to use busybox-1.01 and copied the bz2 source to the /usr/share/genkernel/pkg directory ran a successfull genkernel --no-clean initrd System booted correctly under the new kernel with initramfs support.
Please attach /var/log/genkernel.log.
Capture of genkernel.log from 3.3.8 version: "genkernel.log" may be a binary file. See it anyway? * Gentoo Linux Genkernel; Version 3.3.8 * Running with options: --no-clean all * Linux Kernel 2.6.14-gentoo-r3 for alpha... * config: --no-clean is enabled; leaving the .config alone. COMMAND: make -j2 CC="gcc" LD="ld" AS="as" prepare CHK include/linux/version.h SYMLINK include/asm -> include/asm-alpha SPLIT include/linux/autoconf.h -> include/config/* CC arch/alpha/kernel/asm-offsets.s GEN include/asm-alpha/asm-offsets.h * >> Compiling 2.6.14-gentoo-r3 boot... COMMAND: make -j2 CC="gcc" LD="ld" AS="as" boot CHK include/linux/version.h HOSTCC scripts/kallsyms CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTCC scripts/pnmtologo HOSTLD scripts/mod/modpost HOSTCC scripts/conmakehash HOSTCC scripts/bin2c CC init/main.o HOSTCC usr/gen_init_cpio CHK include/linux/compile.h CHK usr/initramfs_list UPD usr/initramfs_list /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:665: error: initializer element is not constant /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:665: error: (near initialization f or `applets[82]') /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:668: error: initializer element is not constant /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:668: error: (near initialization f or `applets[83]') /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:671: error: initializer element is not constant /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:671: error: (near initialization f or `applets[84]') /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:674: error: initializer element is not constant /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:674: error: (near initialization f or `applets[85]') /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:678: error: initializer element is not constant /export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:678: error: (near initialization f or `applets[86]') make: *** [/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/applets/applets.o] Error 1 make: *** Waiting for unfinished jobs.... * Gentoo Linux Genkernel; Version 3.3.8 * Running with options: --no-clean all * ERROR: Failed to compile the "all" target... * -- Grepping log... -- * -- End log... -- * Please consult /var/log/genkernel.log for more information and any * errors that were reported above. * Report any genkernel bugs to bugs.gentoo.org and * assign your bug to genkernel@gentoo.org. Please include * as much information as you can in your bug report; attaching * /var/log/genkernel.log so that your issue can be dealt with effectively. * * Please do *not* report compilation failures as genkernel bugs!
Created attachment 73779 [details] genkernel.log from 3.3.8 release version Genkernel run 11/28/2005 kernel version 2.6.14-gentoo-r3
Created attachment 74528 [details, diff] busybox-1.00-rt-mdstart.plasmaroo.patch I tried 'genkernel initrd' on my alpha and got the same results. The problem is that the kernel headers pollute the namespace with every CONFIG_* symbol in the kernel, and this clashes with busybox's CONFIG_SYSCTL. The busybox devs fixed this in CVS by renaming CONFIG_SYSCTL to CONFIG_BB_SYSCTL. This patch does the same.
Fixed in the source repository, thanks. This will show up in the next genkernel release.
Fixed in 3.3.9; thanks!