Update for new BUILD_DIR and SRC_DIR variables
[hvlinux.git] / stage2 / pkg / kernel
index 621183c..403377b 100644 (file)
@@ -2,43 +2,45 @@
 
 hvbuild()
 {
-    # Check if kernel sources are still in /usr/src.
-    # If not, recopy them.
-    if [ ! -d /usr/src/${PACKAGE} ]; then
-        # Decompress kernel sources
-        decompress_package ${PACKAGE} /usr/src
+    rm -rf /usr/src/${PACKAGE}
+    mv ${SRC_DIR} /usr/src
 
-        apply_patches ${PACKAGE} /usr/src
-    fi
+    cd /usr/src/${PACKAGE}
 
     # Install kernel checkpatch script
-    install /usr/src/${PACKAGE}/scripts/checkpatch.pl /usr/bin
+    install scripts/checkpatch.pl /usr/bin
 
     # Copy kernel configuration file in source tree.
-    cp -v ${SCRDIR}/../config/${KERNEL_CONFIG} /usr/src/${PACKAGE}/.config
+    cp -v ${SCRDIR}/../config/${KERNEL_CONFIG} .config
 
     # Install HV kernel compilation script:
-    VERSION=$(get_pkg_ver ${PACKAGE})
-    SCRIPT=/usr/src/compile-kernel
-
-    echo "#!/bin/bash" > ${SCRIPT}
-    echo "set -o errexit" >> ${SCRIPT}
-    echo "KERNEL_VERSION=${VERSION}" >> ${SCRIPT}
-    echo "KERNEL_NAME=clfs-\${KERNEL_VERSION}" >> ${SCRIPT}
-    echo "DEST=/boot" >> ${SCRIPT}
-    echo "ARCH=${HVL_TARGET}" >> ${SCRIPT}
-    echo "unset CROSS_COMPILE" >> ${SCRIPT}
-    echo "" >> ${SCRIPT}
-    echo "make" >> ${SCRIPT}
-    echo "make modules" >> ${SCRIPT}
-    echo "make modules_install" >> ${SCRIPT}
-    echo "cp -v arch/${HVL_TARGET}/boot/bzImage \${DEST}/vmlinuz-\${KERNEL_NAME}" >> ${SCRIPT}
-    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}
+    COMPILE_SCRIPT=/usr/src/compile-kernel
+
+    cat > ${COMPILE_SCRIPT} << "EOF"
+#!/bin/bash
+set -o errexit
+
+MAKEJOBS=4
+ROOTDIR=/
+DEST=${ROOTDIR}/boot
+ARCH=_HVL_TARGET_
+unset CROSS_COMPILE
+
+make -j ${MAKEJOBS}
+make -j ${MAKEJOBS} modules
+make INSTALL_MOD_PATH=${ROOTDIR} modules_install
+
+KERNEL_VERSION=$(make -s kernelrelease)
+KERNEL_NAME=vmlinuz
+
+cp -v arch/${ARCH}/boot/bzImage ${DEST}/${KERNEL_NAME}-${KERNEL_VERSION}
+ln -svf ${KERNEL_NAME}-${KERNEL_VERSION} ${DEST}/${KERNEL_NAME}
+cp -v System.map ${DEST}/System.map-${KERNEL_VERSION}
+cp -v .config ${DEST}/config-${KERNEL_VERSION}
+EOF
+
+    sed -i -e "s!_HVL_TARGET_!${HVL_TARGET}!g" ${COMPILE_SCRIPT}
+    chmod -v u+x ${COMPILE_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
@@ -46,5 +48,5 @@ hvbuild()
     yes "" | make oldconfig
 
     # Execute compilation script
-    ${SCRIPT}
+    ${COMPILE_SCRIPT}
 }