lmake
来自「lustre 1.6.5 source code」· 代码 · 共 886 行 · 第 1/2 页
TXT
886 行
diff -I '^#.*' -u "$CONFIG_FILE" .config >$tmpfile if [ -s $tmpfile ]; then { cat <<EOFTo: lustre-qa-team@sun.comSubject: kernel_config change The result of a make oldconfig on file $CONFIG_FILE resulted in adifference when compared to .config in the following way:EOF cat $tmpfile echo -e "\n\nPlease consider updating $CONFIG_FILE for version: $extra_version." # not sure these are entirely useful. the above and "patch" are good #echo -e "\nThe entire new .config file:\n" #cat .config # sadly, the build roots can't e-mail out, so we can only display this # to stderr for an interested party to inspect #} | sendmail -flustre-qa-team@sun.com -t } >&2 fi rm -f $tmpfile case "$VERSION" in 2.6*) $MAKE "$MAKE_CC" include/asm ;; 2.4*) $MAKE "$MAKE_CC" symlinks $MAKE "$MAKE_CC" dep || fatal 1 "Error running make dep" ;; esac $MAKE "$MAKE_CC" include/linux/version.h || fatal 1 "Error making include/linux/version.h"}build_kernel(){ (( $BUILD_KERNEL )) || return 0 set_make echo "Building kernel in $PWD..." case "$TARGET_ARCH" in i386 | i586 | i686 | athlon | x86_64) $MAKE_J "$MAKE_CC" bzImage || fatal 1 "Error making bzImage." ;; ia64 | ppc | ppc64) $MAKE_J "$MAKE_CC" vmlinux || fatal 1 "Error making vmlinux." ;; *) $MAKE_J "$MAKE_CC" boot || fatal 1 "Error making boot." ;; esac $MAKE_J "$MAKE_CC" modules || fatal 1 "Error building modules." popd >/dev/null}build_kernel_ib(){ (( $BUILD_KERNEL )) || return 0 # build kernel-ib{,-devel} # some I/B drivers are architecture dependent and kernel-ib's configure # does not figure it out for us ~sigh~ local configure_options="" case "$TARGET_ARCH" in x86_64 | ia64) configure_options="--with-ipath_inf-mod" ;; ppc64) configure_options="--with-ipath_inf-mod --with-ehca-mod" ;; esac $RPMBUILD --rebuild --define 'build_kernel_ib 1' --define 'build_kernel_ib_devel 1' \ --define "_topdir $(lbuild_topdir)" --target ${TARGET_ARCH} \ --define "KVERSION ${FULL_VERSION}" \ --define "KSRC $PWD/linux" \ --define "LIB_MOD_DIR /lib/modules/${FULL_VERSION}" \ --define "configure_options --without-quilt --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-srp-target-mod --with-core-mod --with-mthca-mod --with-mlx4-mod --with-cxgb3-mod --with-nes-mod --with-ipoib-mod --with-sdp-mod --with-srp-mod --without-srp-target-mod --with-rds-mod --with-iser-mod --with-qlgc_vnic-mod --with-madeye-mod $configure_options" $(lbuild_topdir)/OFED/SRPMS/ofa_kernel-${OFED_VERSION}-ofed${OFED_VERSION}.src.rpm if [ ${PIPESTATUS[0]} != 0 ]; then fatal 1 "Error building kernel-ib" fi pushd "$TOPDIR" >/dev/null rm -rf kernel-ib-devel mkdir kernel-ib-devel cd kernel-ib-devel local rpm=$(ls $(lbuild_topdir)/RPMS/*/kernel-ib-devel-${OFED_VERSION}-${FULL_VERSION//-/_}.*.rpm) rpm2cpio -itv < $rpm | cpio -id CONFIGURE_FLAGS="--with-o2ib=$(pwd)/usr/src/ofa_kernel ${CONFIGURE_FLAGS}" popd >/dev/null}configure_lustre(){ return 0 (( $BUILD_LUSTRE )) || return 0 pushd "$TOPDIR" >/dev/null [ -f Makefile ] && make -s clean [ -f configure ] || sh ./autogen.sh ./configure --with-linux=$PWD/linux $CONFIGURE_FLAGS || \ fatal 1 "Error configuring Lustre." popd >/dev/null}build_lustre(){ (( $BUILD_LUSTRE )) || return 0 set_make pushd "$TOPDIR" >/dev/null sed \ -e s^@VERSION@^${LUSTRE_VERSION}^g \ -e s^@LINUXRELEASE@^${FULL_VERSION}^g \ -e s^@RELEASE@^${FULL_VERSION//-/_}^g \ -e s^@ac_configure_args@^"--with-linux=${PWD}/linux ${CONFIGURE_FLAGS}"^g \ < lustre.spec.in \ > lustre.spec $RPMBUILD --target ${TARGET_ARCH} -bb lustre.spec \ --define "_tmppath $TMPDIR" \ --define "_topdir $(lbuild_topdir)" || \ fatal 1 "Error building Lustre rpms." # $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre." popd >/dev/null}install_kernel(){ (( $INSTALL_KERNEL )) || return 0 set_make pushd "$TOPDIR/linux" >/dev/null mkdir -p "$DESTDIR/boot" install -m 644 System.map "$DESTDIR/boot/System.map-${FULL_VERSION}" # install -m 644 module-info ... install -m 644 "$CONFIG_FILE" "$DESTDIR/boot/config-${FULL_VERSION}" mkdir -p "$DESTDIR/dev/shm" mkdir -p "$DESTDIR/lib/modules/${FULL_VERSION}" $MAKE "$MAKE_CC" INSTALL_MOD_PATH="$DESTDIR" KERNELRELEASE="$FULL_VERSION" \ -s modules_install || \ fatal 1 "Error installing modules." case "$TARGET_ARCH" in i386 | i586 | i686 | athlon) cp arch/i386/boot/bzImage "$DESTDIR/boot/vmlinuz-${FULL_VERSION}" cp vmlinux "$DESTDIR/lib/modules/${FULL_VERSION}/" ln -sf "../lib/modules/${FULL_VERSION}/vmlinux" "$DESTDIR/boot/vmlinux-${FULL_VERSION}" ;; x86_64) cp arch/x86_64/boot/bzImage "$DESTDIR/boot/vmlinuz-${FULL_VERSION}" cp vmlinux "$DESTDIR/lib/modules/${FULL_VERSION}/" ln -sf "../lib/modules/${FULL_VERSION}/vmlinux" "$DESTDIR/boot/vmlinux-${FULL_VERSION}" ;; ppc | ppc64) cp vmlinux "$DESTDIR/boot/vmlinux-${FULL_VERSION}" ln -sf "$DESTDIR/boot/vmlinux-${FULL_VERSION}" "../lib/modules/${FULL_VERSION}/vmlinux" ;; ia64) gzip -cfv vmlinux > vmlinuz mkdir -p "$DESTDIR/boot/efi/redhat" install -m 755 vmlinux "$DESTDIR/lib/modules/${FULL_VERSION}/" install -m 755 vmlinuz "$DESTDIR/boot/efi/redhat/vmlinuz-${FULL_VERSION}" ln -sf "../../../lib/modules/${FULL_VERSION}/vmlinux" "$DESTDIR/boot/efi/redhat/vmlinux-${FULL_VERSION}" ln -sf "efi/redhat/vmlinux-${FULL_VERSION}" "$DESTDIR/boot/vmlinux-${FULL_VERSION}" ln -sf "efi/redhat/vmlinuz-${FULL_VERSION}" "$DESTDIR/boot/vmlinuz-${FULL_VERSION}" ;; *) cp vmlinuz "$DESTDIR/boot/vmlinuz-${FULL_VERSION}" cp vmlinux "$DESTDIR/lib/modules/${FULL_VERSION}/vmlinux-${FULL_VERSION}" ln -sf "../lib/modules/${FULL_VERSION}/vmlinux-${FULL_VERSION}" "$DESTDIR/boot/vmlinux-${FULL_VERSION}" ;; esac if [ -e init/kerntypes.o ] ; then cp init/kerntypes.o "$DESTDIR/boot/Kerntypes-${FULL_VERSION}" fi popd >/dev/null}cleanup_libmodules(){ (( $INSTALL_LUSTRE )) || return 0 KVERREL="${VERSION}${EXTRA_VERSION_DELIMITER}${EXTRA_VERSION}" i="$DESTDIR/lib/modules/${FULL_VERSION}" rm -f $i/build rm -f $i/source if (( $LINUX26 )) ; then ln -sf ../../../usr/src/linux-${KVERREL}-obj/${TARGET_ARCH}/${TARGET_CONFIG} $i/build ln -sf ../../../usr/src/linux-${KVERREL} $i/source else ln -sf ../../../usr/src/linux-${KVERREL} $i/build fi}install_lustre(){ (( $INSTALL_LUSTRE )) || return 0 return 0 set_make pushd "$TOPDIR" >/dev/null $MAKE "$MAKE_CC" -s install "DESTDIR=$DESTDIR" KERNELRELEASE="$FULL_VERSION" || fatal 1 "Error installing Lustre." popd >/dev/null}build_kms(){ (( $BUILD_KERNEL )) || return 0 (( $SUSEBUILD )) || return 0 set_make mkdir -p "${TOPDIR}/modules-${FULL_VERSION}" for dir in /usr/src/kernel-modules/* ; do # we are replacing lustre-lite, so don't include it if [ "${dir##*/}" != "lustre-lite" -a -e $dir/Makefile ]; then build_dir="${TOPDIR}/modules-${FULL_VERSION}/${dir##*/}" cp -a $dir $build_dir # these modules are terrible, and don't all build $MAKE_J "$MAKE_CC" -C $build_dir modules KERNEL_SOURCE="${TOPDIR}/linux" fi done}symver(){ local file=$1 name=${1%.ko} nm $file \ | sed -ne 's,^0*\([0-9a-f]\{8\}\) A __crc_\(.*\),0x\1\t\2\t'"$name"',p'}install_kms(){ (( $INSTALL_KERNEL )) || return 0 (( $LINUX26 )) || return 0 set_make for build_dir in "${TOPDIR}/modules-${FULL_VERSION}/*" ; do [ -d $build_dir ] || continue # these modules are terrible, and don't all build $MAKE "$MAKE_CC" -C $build_dir KERNEL_SOURCE="${TOPDIR}/linux" INSTALL_MOD_PATH="$DESTDIR" done local symvers_file="${DESTDIR}/boot/symvers-${VERSION}${EXTRA_VERSION_DELIMITER}${EXTRA_VERSION}-${TARGET_ARCH}" if [ -n "$TARGET_CONFIG" ]; then symvers_file="${symvers_file}${TARGET_DELIMITER}${TARGET_CONFIG}" fi symvers_file="$symvers_file.gz" ( symver vmlinux moddir="${DESTDIR}/lib/modules/${FULL_VERSION}" cd $moddir/kernel for module in $(find * -name '*.ko'); do symver $module done cd $moddir for module in $(find * -path 'kernel/*' -prune -o \ -name '*.ko' -print); do symver $module done ) | sort -u -k2 | gzip -c9 > $symvers_file}save_headers(){ (( $SAVE_HEADERS )) || return 0 echo "Saving headers for ${TARGET_CONFIG:-up} ${TARGET_ARCH}..." pushd linux >/dev/null KVERREL="${VERSION}${EXTRA_VERSION_DELIMITER}${EXTRA_VERSION}" # deal with the kernel headers that are version specific saveddir="$RPM_BUILD_ROOT/usr/src/linux-${KVERREL}/savedheaders/${TARGET_ARCH}/${TARGET_CONFIG:-up}" mkdir -p "$saveddir" install -m 644 include/linux/autoconf.h "$saveddir/autoconf.h" install -m 644 include/linux/version.h "$saveddir/version.h" mv include/linux/modules "$saveddir/" echo ${TARGET_ARCH} ${TARGET_CONFIG} ../../savedheaders/${TARGET_ARCH}/${TARGET_CONFIG:-up}/ \ >> "$RPM_BUILD_ROOT/usr/src/linux-${KVERREL}/savedheaders/list" popd >/dev/null}save_all_headers(){ (( $SAVE_HEADERS )) || return 0 for arch in $BIGMEM_ARCHS ; do save_headers bigmem $arch done for arch in $BOOT_ARCHS ; do save_headers BOOT $arch done for arch in $JENSEN_ARCHS ; do save_headers jensen $arch done for arch in $SMP_ARCHS ; do save_headers smp $arch done for arch in $BIGSMP_ARCHS ; do save_headers bigsmp $arch done for arch in $PSERIES64_ARCHS ; do save_headers pseries64 $arch done for arch in $UP_ARCHS ; do save_headers up $arch done}longopts="build,build-lustre,build-kernel,depend-kernel,destdir:,extraversion:"longopts="$longopts,help,install,install-lustre,install-kernel,kerneldir:"longopts="$longopts,save-headers,target:,target-arch:,target-config:,unpack-kernel"options=$(getopt -o hj: -l "$longopts" -- "$@")eval set -- "$options" while [ "$1" ] ; do case "$1" in '') usage 1 ;; --build) BUILD_LUSTRE=1 BUILD_KERNEL=1 DEPEND_KERNEL=1 UNPACK_KERNEL=1 shift ;; --build-lustre) BUILD_LUSTRE=1 shift ;; --build-kernel) BUILD_KERNEL=1 DEPEND_KERNEL=1 shift ;; --depend-kernel) DEPEND_KERNEL=1 shift ;; --destdir) DESTDIR=$2 shift 2 ;; --extraversion) EXTRA_VERSION=$2 shift 2 ;; --help | -h) usage 0 ;; --install) INSTALL_LUSTRE=1 INSTALL_KERNEL=1 shift ;; --install-lustre) INSTALL_LUSTRE=1 shift ;; --install-kernel) INSTALL_KERNEL=1 shift ;; -j) JOBS=$2 shift 2 ;; --kerneldir) KERNELDIR=$2 shift 2 ;; --save-headers) SAVE_HEADERS=1 shift ;; --target) TARGET=$2 shift 2 ;; --target-arch) TARGET_ARCH=$2 shift 2 ;; --target-config) TARGET_CONFIG=$2 shift 2 ;; --unpack-kernel) UNPACK_KERNEL=1 shift ;; --) shift CONFIGURE_FLAGS=$@ break ;; *) usage 1 "Unrecognized option: $1" ;; esacdonecheck_optionsload_targetEXTRA_VERSION_DELIMITER=${EXTRA_VERSION_DELIMITER:-"-"}FULL_VERSION="${VERSION}${EXTRA_VERSION_DELIMITER}${EXTRA_VERSION}"if [ -n "$TARGET_CONFIG" ]; then FULL_VERSION="${FULL_VERSION}${TARGET_DELIMITER}${TARGET_CONFIG}"fisetup_ccache_distccextract_kernelpatch_kerneldepend_kernelbuild_kernelif [ -n "$OFED_VERSION" ]; then build_kernel_ibficonfigure_lustrebuild_lustrebuild_kmsinstall_kernelinstall_lustreinstall_kmscleanup_libmodulessave_headersexit 0
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?