hvbuild()
{
- cd ${LFS_TMP}/${PACKAGE}
-
- # Move kernel source files to their final destination
- mkdir -pv ${LFS}/usr/src
+ # Decompress kernel sources
decompress_package ${PACKAGE} ${LFS}/usr/src
- cd ${LFS}/usr/src/${PACKAGE}
- ${HVMAKE} mrproper
+ 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})
echo "PATH=\${PATH}:${LFS}/cross-tools/bin" >> ${SCRIPT}
echo "" >> ${SCRIPT}
- echo "make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- menuconfig" >> ${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}
echo "cp -v .config \${DEST}/config-\${KERNEL_NAME}" >> ${SCRIPT}
chmod -v u+x ${SCRIPT}
+
+ cd ${LFS}/usr/src/${PACKAGE}
+
+ # Execute compilation script
+ ${SCRIPT}
}