X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage2%2Fpkg%2Fkernel;h=6e9fe243c0310969adea108416069c8af191ccb9;hb=28a8892723b15670ebc1fba2a1d093bef4b85154;hp=0c9ff3023ef05967c3da718c36ae0fddd429adcf;hpb=6cbd8248d64dfffe1716d272a2cd0702c4460d25;p=hvlinux.git diff --git a/stage2/pkg/kernel b/stage2/pkg/kernel index 0c9ff30..6e9fe24 100644 --- a/stage2/pkg/kernel +++ b/stage2/pkg/kernel @@ -2,40 +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 ${LFS_TMP}/${PACKAGE} /usr/src - apply_patches ${PACKAGE} /usr/src - fi + cd /usr/src/${PACKAGE} + + # Install kernel checkpatch script + 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 kernelversion) +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 @@ -43,5 +48,5 @@ hvbuild() yes "" | make oldconfig # Execute compilation script - ${SCRIPT} + ${COMPILE_SCRIPT} }