Re: kernel-{image,headers} package bloat
Jim Penny <jpenny@universal-fasteners.com> wrote:
> These are:
> 1) how do I boot from a non-IDE root disk?
You don't need to do anything special unless mkinitrd doesn't recognise
your root device.
> 2) How do I control what goes into initrd in a more reasonable
> way than nothing/most/all. (and what does most do, anyway?).
Quoting the man page:
Setting it to most will cause mkinitrd(8) to
exclude modules which are considered unlikely to be
necessary in the process of bringing up a root file
system.
Turn probe off and write one or more scripts in /etc/mkinitrd/scripts if you
want to control the image exactly.
For example, this is how I boot off LVM (which will be in the package
proper once it is stable):
----------------------------------------
# /etc/mkinitrd/mkinitrd.conf:
# Configuration file for mkinitrd(8). See mkinitrd.conf(5).
#
# This file is meant to be parsed as a shell script.
# What modules to install.
MODULES=none
# The length (in seconds) of the startup delay during which linuxrc may be
# interrupted.
DELAY=5
# If this is set to probe mkinitrd will try to figure out what's needed to
# mount the root file system. This is equivalent to the old PROBE=on setting.
ROOT=
# This controls the permission of the resulting initrd image.
UMASK=022
# Turn this on to see the messages from mkcramfs.
VERBOSE=off
----------------------------------------
# /etc/mkinitrd/modules: Kernel modules to load for initrd.
#
# This file should contain the names of kernel modules and their arguments
# (if any) that are needed to mount the root file system, one per line.
# Comments begin with a `#', and everything on the line after them are ignored.
#
# Examples:
#
# ext2
# wd io=0x300
ext2
lvm-mod
ide-probe-mod
ide-disk
--------------------/etc/mkinitrd/scripts/lvm--------------------
#!/bin/sh
cd $INITRDDIR
{
echo /dev/lvm
echo /dev/legolas/group
echo /dev/legolas/root0
echo /etc/lvmconf/legolas.conf
echo /etc/lvmtab.d/legolas
echo /etc/lvmtab
echo $MODULEDIR/kernel/drivers/ide/ide-probe-mod.o
echo $MODULEDIR/kernel/drivers/ide/ide-mod.o
echo $MODULEDIR/kernel/drivers/ide/ide-disk.o
echo $MODULEDIR/kernel/drivers/md/lvm-mod.o
echo $MODULEDIR/kernel/fs/ext2/ext2.o
echo /usr/lib/liblvm.so
for i in \
/bin/mount /bin/umount /sbin/vgscan /sbin/vgchange \
/sbin/pivot_root
do
echo $i
ldd $i | sed 's/.*=>[[:blank:]]*\([^[:blank:]]*\).*/\1/'
done
} | sort -u | cpio -pLd --quiet .
mkdir mnt proc devfs
ln -s ../devfs/ide dev/ide
cat > scripts/lvm.sh <<- EOF
mount -nt devfs devfs /devfs
mount -nt proc proc /proc
mount -nt tmpfs tmpfs /etc
vgscan
vgchange -a y
vgchange -a n
vgchange -a y
umount -n /etc
echo 256 > /proc/sys/kernel/real-root-dev
umount -n /proc
umount -n /devfs
mount -nrt ext2 /dev/legolas/root0 /mnt
cd /mnt
pivot_root . initrd
EOF
--
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Reply to: