compiling the linux-2.6 kernel?
Posted: Sun Apr 10, 2011 1:54 pm
I am trying to compile linux-2.6.38.2 kernel.
What I have done so far is uncompressed the kernel to a folder under my home directory
cd linux-2.6.38.2 directory
ran make oldconfig (which asked me a whole bunch of question I didn't know how to answer so I just pushed entire sometimes n or y)
Then I tried to run make
make gave errors?
I retried running make using make V=1 all to see if I could figure out the problem.
I cann't it looks like an n is being appended to my gcc command or something?
I have gcc version installed and compiles/links my programs fine.
I then tried a different approach
doing make O=/home/xxxx/testlinuxkernel/ menuconfig
which got me to a blue screen of options don't know how to proceed on this blue screen.
In theory when the configuration stuff is setup I should just beable to type make , make V=1 all , or some variation to get the kernel binary image.
What I have done so far is uncompressed the kernel to a folder under my home directory
cd linux-2.6.38.2 directory
ran make oldconfig (which asked me a whole bunch of question I didn't know how to answer so I just pushed entire sometimes n or y)
Then I tried to run make
make gave errors?
I retried running make using make V=1 all to see if I could figure out the problem.
I cann't it looks like an n is being appended to my gcc command or something?
Code: Select all
/home/xxxx/testlinuxkernel/linux-2.6.38.2/scripts/gcc-version.sh: line 25: ngcc: command not found
/home/xxxx/testlinuxkernel/linux-2.6.38.2/scripts/gcc-version.sh: line 26: ngcc: command not found
/home/xxxx/testlinuxkernel/linux-2.6.38.2/arch/x86/Makefile:81: stack protector enabled but no compiler support
make: ngcc: Command not found
rm -f include/config/kernel.release
echo "2.6.38.2$(/bin/bash /home/xxxx/testlinuxkernel/linux-2.6.38.2/scripts/setlocalversion /home/xxxx/testlinuxkernel/linux-2.6.38.2)" > include/config/kernel.release
set -e; : ' CHK include/linux/version.h'; mkdir -p include/linux/; (echo \#define LINUX_VERSION_CODE 132646; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) < /home/xxxx/testlinuxkernel/linux-2.6.38.2/Makefile > include/linux/version.h.tmp; if [ -r include/linux/version.h ] && cmp -s include/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else : ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi
set -e; : ' CHK include/generated/utsrelease.h'; mkdir -p include/generated/; if [ `echo -n "2.6.38.2" | wc -c ` -gt 64 ]; then echo '"2.6.38.2" exceeds 64 characters' >&2; exit 1; fi; (echo \#define UTS_RELEASE \"2.6.38.2\";) < include/config/kernel.release > include/generated/utsrelease.h.tmp; if [ -r include/generated/utsrelease.h ] && cmp -s include/generated/utsrelease.h include/generated/utsrelease.h.tmp; then rm -f include/generated/utsrelease.h.tmp; else : ' UPD include/generated/utsrelease.h'; mv -f include/generated/utsrelease.h.tmp include/generated/utsrelease.h; fi
mkdir -p .tmp_versions ; rm -f .tmp_versions/*
make -f scripts/Makefile.build obj=scripts/basic
(cat /dev/null; ) > scripts/basic/modules.order
rm -f .tmp_quiet_recordmcount
make -f scripts/Makefile.build obj=.
(cat /dev/null; ) > modules.order
mkdir -p kernel/
ngcc -Wp,-MD,kernel/.bounds.s.d -nostdinc -isystem -I/home/xxxx/testlinuxkernel/linux-2.6.38.2/arch/x86/include -Iinclude -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -msoft-float -mregparm=3 -freg-struct-return -march=i586 -ffreestanding -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(bounds)" -D"KBUILD_MODNAME=KBUILD_STR(bounds)" -fverbose-asm -S -o kernel/bounds.s kernel/bounds.c
/bin/sh: ngcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2
I have gcc version installed and compiles/links my programs fine.
Code: Select all
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
doing make O=/home/xxxx/testlinuxkernel/ menuconfig
which got me to a blue screen of options don't know how to proceed on this blue screen.
Code: Select all
xxxx@xxxx-desktop:~/testlinuxkernel/linux-2.6.38.2$ make O=/home/xxxx/testlinuxkernel/ menuconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
GEN /home/xxxx/testlinuxkernel/Makefile
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
HOSTCC scripts/kconfig/lxdialog/inputbox.o
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/mconf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig