echo " --no-install Do not install kernel after building"
echo " --kerneldir=<dir> Location of kernel source"
echo " --kernel-config=<file> Kernel configuration file to use for compilation"
- echo " Low-Level Compile settings"
+ echo " --no-initrdmodules Don't copy modules to initrd"
+ echo " Low-Level Compile settings"
echo " --kernel-cc=<compiler> Compiler to use for kernel (e.g. distcc)"
echo " --kernel-ld=<linker> Linker to use for kernel"
echo " --kernel-as=<assembler> Assembler to use for kernel"
CMD_NOINSTALL=1
print_info 2 "CMD_NOINSTALL: $CMD_NOINSTALL"
;;
+ --no-initrdmodules)
+ CMD_NOINITRDMODULES=1
+ print_info 2 "CMD_NOINITRDMODULES: $CMD_NOINITRDMODULES"
+ ;;
--arch-override*)
CMD_ARCHOVERRIDE=`parse_opt "${x}"`
print_info 2 "CMD_ARCHOVERRIDE: $CMD_ARCHOVERRIDE"
bunzip2 "${TEMP}/initrd-temp/bin/busybox.bz2" || gen_die "could not uncompress busybox"
chmod +x "${TEMP}/initrd-temp/bin/busybox"
- if [ "${PAT}" -gt "4" ]
+ if [ "${NOINITRDMODULES}" = "" ]
then
- cp "${MODULE_INIT_TOOLS_BINCACHE}" "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not copy insmod.static from bincache"
- else
- cp "${MODUTILS_BINCACHE}" "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not copy insmod.static from bincache"
+ if [ "${PAT}" -gt "4" ]
+ then
+ cp "${MODULE_INIT_TOOLS_BINCACHE}" "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not copy insmod.static from bincache"
+ else
+ cp "${MODUTILS_BINCACHE}" "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not copy insmod.static from bincache"
+ fi
+
+ bunzip2 "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not uncompress insmod.static"
+ mv "${TEMP}/initrd-temp/bin/insmod.static" "${TEMP}/initrd-temp/bin/insmod"
+ chmod +x "${TEMP}/initrd-temp/bin/insmod"
fi
- bunzip2 "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not uncompress insmod.static"
- mv "${TEMP}/initrd-temp/bin/insmod.static" "${TEMP}/initrd-temp/bin/insmod"
- chmod +x "${TEMP}/initrd-temp/bin/insmod"
-
cp "${DEVFSD_BINCACHE}" "${TEMP}/initrd-temp/bin/devfsd.bz2" || gen_die "could not copy devfsd executable from bincache"
bunzip2 "${TEMP}/initrd-temp/bin/devfsd.bz2" || gen_die "could not uncompress devfsd"
chmod +x "${TEMP}/initrd-temp/bin/devfsd"
else
MOD_EXT=".o"
fi
-# local modc i mods mymod
-# for modc in storage firewire ataraid pcmcia usb
-# do
-# for
-# mkdir -p ${TEMP}/initrd-temp/lib/modules/${modc}
-# mods=`echo $modc | tr [:lower:] [:upper:]`_MODULES
-# eval mymods=\$$mods
-# for i in ${mymods}
- for i in `gen_dep_list`
- do
- print_info 2 "$i : module searching" 1 0
- mymod=`find /lib/modules/${KV} -name "${i}${MOD_EXT}"`
- if [ -z "${mymod}" ]
- then
- print_info 2 "Warning : ${i}${MOD_EXT} not found; skipping..."
- continue;
- fi
- print_info 2 "copying ${mymod} to initrd"
- cp -ax --parents "${mymod}" "${TEMP}/initrd-temp"
- done
-# done
+ for i in `gen_dep_list`
+ do
+ print_info 2 "$i : module searching" 1 0
+ mymod=`find /lib/modules/${KV} -name "${i}${MOD_EXT}"`
+ if [ -z "${mymod}" ]
+ then
+ print_info 2 "Warning : ${i}${MOD_EXT} not found; skipping..."
+ continue;
+ fi
+ print_info 2 "copying ${mymod} to initrd"
+ cp -ax --parents "${mymod}" "${TEMP}/initrd-temp"
+ done
cp -ax --parents /lib/modules/${KV}/modules* ${TEMP}/initrd-temp
-# cat ${GK_SHARE}/${ARCH}/linuxrc | sed -e "s/%%STORAGE_MODULES%%/${STORAGE_MODULES}/" \
-# -e "s/%%FIREWIRE_MODULES%%/${FIREWIRE_MODULES}/" \
-# -e "s/%%ATARAID_MODULES%%/${ATARAID_MODULES}/" \
-# -e "s/%%PCMCIA_MODULES%%/${PCMCIA_MODULES}/" \
-# -e "s/%%USB_MODULES%%/${USB_MODULES}/" \
-# > ${TEMP}/initrd-temp/linuxrc
-
mkdir -p "${TEMP}/initrd-temp/etc/modules"
print_list ${SCSI_MODULES} > "${TEMP}/initrd-temp/etc/modules/scsi"
print_list ${FIREWIRE_MODULES} > "${TEMP}/initrd-temp/etc/modules/firewire"
print_list ${ATARAID_MODULES} > "${TEMP}/initrd-temp/etc/modules/ataraid"
print_list ${PCMCIA_MODULES} > "${TEMP}/initrd-temp/etc/modules/pcmcia"
print_list ${USB_MODULES} > "${TEMP}/initrd-temp/etc/modules/usb"
+}
+create_initrd_aux() {
if [ -f "${GK_SHARE}/${ARCH}/linuxrc" ]
then
cp "${GK_SHARE}/${ARCH}/linuxrc" "${TEMP}/initrd-temp/linuxrc"
chmod +x "${TEMP}/initrd-temp/etc/initrd.scripts"
chmod +x "${TEMP}/initrd-temp/etc/initrd.defaults"
chmod +x "${TEMP}/initrd-temp/sbin/modprobe"
+
}
calc_initrd_size() {
print_info 1 "initrd: creating base system"
create_base_initrd_sys
- print_info 1 "initrd: copying modules"
- create_initrd_modules
+ if [ "${NOINITRDMODULES}" = "" ]
+ then
+ print_info 1 "initrd: copying modules"
+ create_initrd_modules
+ else
+ print_info 1 "initrd: not copying modules"
+ fi
+
+ print_info 1 "initrd: copying auxilary files"
+ create_initrd_aux
print_info 1 "initrd: calculating initrd size"
INITRD_CALC_SIZE=`calc_initrd_size`