Stupid kernel build question
Steffen Grunewald
steffen.grunewald at aei.mpg.de
Wed Aug 18 12:46:50 CEST 2004
Hi,
I'd like to customize my own kernel for the FAI-installed nodes.
So basically I got the kernel sources, the necessary patches, and a
.config file of a previous version to get a head start.
Unfortunately I get stuck when rebooting. Here's the snippet from my
work log: (I will publish the full one as soon as I got through)
...
OK; so I now also want to use my own kernel, since i2c and lm-sensors
that come with Debian kernels are quite outdated.
I didn't succeed to compile the 2.4.26 kernel with the patches, so I
decided to use a pristine 2.4.27 instead and make my own kernel:
cd /usr/src
# get kernel
wget -r -l1 -nd www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.27.tar.bz2
# unpack kernel
tar jxf linux-2.4.27.tar.bz2
# rename to debian standard
mv linux-2.4.27 kernel-source-2.4.27
# get patches (for 2.4.26, doesn't matter)
apt-get install kernel-patch-2.4-i2c kernel-patch-2.4-lm-sensors
# unpack for patch
gunzip kernel-patches/diffs/*/kernel-2.4.26-*.patch.gz
# get config file for subarchitecture (mine is k7-smp, Athlon MP)
apt-get source kernel-image-2.4-k7-smp
cp -p kernel-image-2.4.26-i386-*/config/k7-smp kernel-source-2.4.27
# patch kernel
cd kernel-source-2.4.27
patch -p1 <../kernel-patches/diffs/i2c/kernel-2.4.26-*
patch -p1 <../kernel-patches/diffs/lm-sensors/kernel-2.4.26-*
# fill in new config file entries (answer "M" where possible, "Y" else)
cp -p sm
make oldconfig
vi .config
CONFIG_CRAMFS=n # cramfs isn't needed
CONFIG_ROMFS_FS=y # romfs support in kernel
CONFIG_BLK_DEV_RAM_SIZE=10240 # 8192 is too small
# set own identity
vi /etc/kernel-pkg.conf
# set different initrd fs
vi /etc/mkinitrd/mkinitrd.conf
MKIMAGE="genromfs -s %s -f %s"
apt-get install genromfs # really necessary here?
make-kpkg \
--revision 20040818 \
--subarch k7-smp \
--initrd --bzimage \
binary modules
cd ..
mv kernel-*.deb $FAI_CONFIGDIR/files/packages
cd $FAI_CONFIGDIR/files
./mkPkg # create packages/Packages.gz
cd ../scripts/DEFAULT
cat <<EOF >S00
# prerequisites for S01 kernel install
fcopy /etc/mkinitrd/mkinitrd.conf
apt-get genromfs
exit 0
EOF
chmod +x S00
mkdir -p $FAI_CONFIGDIR/files/etc/mkinitrd/mkinitrd.conf
cp -p /etc/mkinitrd/mkinitrd.conf \
$FAI_CONFIGDIR/files/etc/mkinitrd/mkinitrd.conf/DEFAULT
If you now restart your installation, you might even succeed when rebooting...
For me, it does not, I get
VFS: Mounted root (romfs filesystem) readonly.
...
.../ide-core.o: insmod ide-detect failed
.../ide-core.o: insmod ide-disk failed
Journalled Block Device driver loaded
pivot_root: No such file or directory
/sbin/init: ... cannot open dev/console: No such file
Kernel panic: Attempted to kill init!
Note that I had to switch to romfs instead of cramfs since I could not
find the "lost Debian cramfs initrd patch".
I did some modifications in mkinitrd.conf:
MODULES=all -> 32MB initrd, too big.
MODULES=dep -> find out exactly what's needed :-( not FAIable
MODULES=most.
ROOT=probe -> fails
ROOT=/dev/hda1 -> fails too.
(If I use the prebuilt kernel from Debian Sarge, everything is fine.)
(I will go on and save the initrd's to compare their contents...)
Any suggestions how to get the thing working is welcome. I'd love to
have a listing of loaded modules... should I simply go and
lsmod >/etc/mkinitrd/modules (OK with minor editing) so I could use
MODULES=dep?
Steffen
--
Steffen Grunewald * * * Merlin cluster admin (http://pandora.aei.mpg.de)
Albert-Einstein-Institut (MPI Gravitationsphysik, http://www.aei.mpg.de)
Science Park Golm, Am Mühlenberg 1, 14476 Potsdam, Germany
e-mail: steffen.grunewald(*)aei.mpg.de * +49-331-567-{fon:7233,fax:7298}
More information about the linux-fai
mailing list