#!/bin/bash hvbuild() { # Decompress kernel sources decompress_package ${PACKAGE} ${LFS}/usr/src apply_patches ${PACKAGE} ${LFS}/usr/src # Copy kernel configuration file in source tree. cp -v ${SCRDIR}/../config/${KERNEL_CONFIG} ${LFS}/usr/src/${PACKAGE}/.config # Remove modules support sed -i -e "s!CONFIG_MODULES=y!CONFIG_MODULES=n!" ${LFS}/usr/src/${PACKAGE}/.config # Install HV kernel compilation script: VERSION=$(get_pkg_ver ${PACKAGE}) SCRIPT=${LFS}/usr/src/compile-kernel-minimal echo "#!/bin/bash" > ${SCRIPT} echo "set -o errexit" >> ${SCRIPT} echo "KERNEL_VERSION=${VERSION}" >> ${SCRIPT} echo "KERNEL_NAME=clfs-\${KERNEL_VERSION}" >> ${SCRIPT} echo "DEST=${LFS}/boot" >> ${SCRIPT} echo "PATH=\${PATH}:${LFS}/cross-tools/bin" >> ${SCRIPT} echo "" >> ${SCRIPT} # The 'yes' command repeatedly output a line with all specified string, or # 'y' by default. So, you can use it to simply "press enter", which will # result in using the defaults value for the 'make oldconfig' command. echo 'yes "" | make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- oldconfig' >> ${SCRIPT} echo "#make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- menuconfig" >> ${SCRIPT} # Compile the kernel image: echo "make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}-" >> ${SCRIPT} # Install the kernel: echo "cp -v arch/${CLFS_ARCH}/boot/bzImage \${DEST}/vmlinuz-\${KERNEL_NAME}" >> ${SCRIPT} echo "ln -svf vmlinuz-\${KERNEL_NAME} \${DEST}/vmlinuz" >> ${SCRIPT} # Install map file: echo "cp -v System.map \${DEST}/System.map-\${KERNEL_NAME}" >> ${SCRIPT} # Install config file: echo "cp -v .config \${DEST}/config-\${KERNEL_NAME}" >> ${SCRIPT} chmod -v u+x ${SCRIPT} cd ${LFS}/usr/src/${PACKAGE} # Execute compilation script ${SCRIPT} }