Add support for maxkernpackage

creates a tarball containing:
	kernel
	initrd
	contents of /lib/modules
	kernel config


git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@173 67a159dc-881f-0410-a524-ba9dfbe2cb84
cleanup-cruft
Eric Edgar 20 years ago
parent fcf5cecc7a
commit e96618e06a

@ -77,6 +77,8 @@ longusage() {
echo " --minkernpackage=<tbz2> File to output a .tar.bz2'd kernel and initrd:" echo " --minkernpackage=<tbz2> File to output a .tar.bz2'd kernel and initrd:"
echo " No modules outside of the initrd will be" echo " No modules outside of the initrd will be"
echo " included..." echo " included..."
echo " --maxkernpackage=<tbz2> File to output a .tar.bz2'd kernel,initrd,"
echo " contents of /lib/modules/ and the kernel config"
} }
usage() { usage() {
@ -335,6 +337,10 @@ parse_cmdline() {
CMD_MINKERNPACKAGE=`parse_opt "$*"` CMD_MINKERNPACKAGE=`parse_opt "$*"`
print_info 2 "MINKERNPACKAGE: $CMD_MINKERNPACKAGE" print_info 2 "MINKERNPACKAGE: $CMD_MINKERNPACKAGE"
;; ;;
--maxkernpackage=*)
CMD_MAXKERNPACKAGE=`parse_opt "$*"`
print_info 2 "MAXKERNPACKAGE: $CMD_MAXKERNPACKAGE"
;;
--linuxrc=*) --linuxrc=*)
CMD_LINUXRC=`parse_opt "$*"` CMD_LINUXRC=`parse_opt "$*"`
print_info 2 "CMD_LINUXRC: $CMD_LINUXRC" print_info 2 "CMD_LINUXRC: $CMD_LINUXRC"

@ -163,6 +163,11 @@ determine_real_args() {
MINKERNPACKAGE="${CMD_MINKERNPACKAGE}" MINKERNPACKAGE="${CMD_MINKERNPACKAGE}"
fi fi
if [ "${CMD_MAXKERNPACKAGE}" != '' ]
then
MAXKERNPACKAGE="${CMD_MAXKERNPACKAGE}"
fi
if [ "${CMD_NOINITRDMODULES}" != '' ] if [ "${CMD_NOINITRDMODULES}" != '' ]
then then
NOINITRDMODULES="${CMD_NOINITRDMODULES}" NOINITRDMODULES="${CMD_NOINITRDMODULES}"

@ -2,7 +2,7 @@
gen_minkernpackage() gen_minkernpackage()
{ {
print_info 1 'Creating kernel package' print_info 1 'Creating minimal kernel package'
rm -rf "${TEMP}/minkernpackage" > /dev/null 2>&1 rm -rf "${TEMP}/minkernpackage" > /dev/null 2>&1
mkdir "${TEMP}/minkernpackage" || gen_die 'Could not make a directory for the kernel package!' mkdir "${TEMP}/minkernpackage" || gen_die 'Could not make a directory for the kernel package!'
cd "${KERNEL_DIR}" cd "${KERNEL_DIR}"
@ -12,3 +12,19 @@ gen_minkernpackage()
tar -jcpf ${MINKERNPACKAGE} * || gen_die 'Could not compress the kernel package!' tar -jcpf ${MINKERNPACKAGE} * || gen_die 'Could not compress the kernel package!'
cd "${TEMP}" && rm -rf "${TEMP}/minkernpackage" > /dev/null 2>&1 cd "${TEMP}" && rm -rf "${TEMP}/minkernpackage" > /dev/null 2>&1
} }
gen_maxkernpackage()
{
print_info 1 'Creating maximum kernel package'
rm -rf "${TEMP}/maxkernpackage" > /dev/null 2>&1
mkdir "${TEMP}/maxkernpackage" || gen_die 'Could not make a directory for the kernel package!'
cd "${KERNEL_DIR}"
cp "${KERNEL_BINARY}" "${TEMP}/maxkernpackage/kernel-${KV}" || gen_die 'Could not the copy kernel for the kernel package!'
[ "${BUILD_INITRD}" -ne 0 ] && { cp "${TEMP}/initrd-${KV}" "${TEMP}/maxkernpackage/initrd-${KV}" || gen_die 'Could not copy the initrd for the kernel package!'; }
cp "${KERNEL_DIR}/.config" "${TEMP}/maxkernpackage/kernel-config-${ARCH}-${KV}"
mkdir -p "${TEMP}/maxkernpackage/lib/modules/"
cp -r "/lib/modules/${KV}" "${TEMP}/maxkernpackage/lib/modules/"
cd "${TEMP}/maxkernpackage"
tar -jcpf ${MAXKERNPACKAGE} * || gen_die 'Could not compress the kernel package!'
cd "${TEMP}" && rm -rf "${TEMP}/maxkernpackage" > /dev/null 2>&1
}

@ -284,6 +284,7 @@ else
print_info 1 'initrd: Not building since only the kernel was requested...' print_info 1 'initrd: Not building since only the kernel was requested...'
fi fi
[ "${MINKERNPACKAGE}" != "" ] && gen_minkernpackage [ "${MINKERNPACKAGE}" != "" ] && gen_minkernpackage
[ "${MAXKERNPACKAGE}" != "" ] && gen_maxkernpackage
# Clean up... # Clean up...
[ -n "${CTEMP}" ] && rm -rf "${TEMP}" [ -n "${CTEMP}" ] && rm -rf "${TEMP}"

@ -199,6 +199,9 @@ Don't compile busybox, and use this static .bz2 binary instead.
\fB\-\-minkernpackage=\fR<tbz2> \fB\-\-minkernpackage=\fR<tbz2>
File to output a .tar.bz2'd kernel and initrd: no modules outside of the File to output a .tar.bz2'd kernel and initrd: no modules outside of the
initrd will be included... initrd will be included...
.TP
\fB\-\-maxkernpackage=\fR<tbz2>
File to output a .tar.bz2'd kernel, initrd, contents of /lib/modules/ and the kernel config"
.SH INITRD OPTIONS .SH INITRD OPTIONS
The following options can be passed as kernel parameters from the The following options can be passed as kernel parameters from the
bootloader, which the initrd scripts would recognize. bootloader, which the initrd scripts would recognize.

Loading…
Cancel
Save