Комментарии:
Для сборки ядра используется скрипт linux32 он создает окружение для корректной сборки.
Формат вызова: linux32 [options] [program [arguments]]
Чтобы сборка происходила в указанном подкаталоге необходимо при make передать параметр O=<directory> причем
этот параметр задается во ВСЕХ! операциях make в том числе и mrproper.
Конфигурация .config лежит в указанном подкаталоге.
INSTALL_MOD_PATH=<directory> при modules_install устанавливает модули в указанный подкаталог в данном подкаталоге будет создана иерархия <directory>/lib/modules/….
#!/bin/bash SOURCE=`pwd`; BUILD_DIRECTORY="/home/tmp/vacer/kernel" MOD_PATH="/home/tmp/vacer/modules" THREADS=8 #/usr/bin/linux32 make O=$BUILD_DIRECTORY mrproper dialog --msgbox " Kernel source - $SOURCE \n Build Directory - $BUILD_DIRECTORY \n Modules Directory - $MOD_PATH \n Threads - $THREADS " 12 60 dialog --yesno "Configure?" 7 30 case $? in 0) /usr/bin/linux32 make -j $THREADS O=$BUILD_DIRECTORY nconfig ;; 1) ;; 255) exit ;; esac dialog --defaultno --yesno "Clean?" 7 30 case $? in 0) /usr/bin/linux32 make -j $THREADS O=$BUILD_DIRECTORY clean ;; 1) ;; 255) exit ;; esac /usr/bin/linux32 make -j $THREADS O=$BUILD_DIRECTORY /usr/bin/linux32 make -j $THREADS O=$BUILD_DIRECTORY modules /usr/bin/linux32 make -j $THREADS O=$BUILD_DIRECTORY modules_install INSTALL_MOD_PATH=$MOD_PATH mkdir $MOD_PATH/boot cp $BUILD_DIRECTORY/arch/x86/boot/bzImage $MOD_PATH/boot/vmlinuz cp $BUILD_DIRECTORY/System.map $MOD_PATH/boot/ cd $MOD_PATH ARCHIVE=/tmp/kernel_`/usr/bin/date +%Y%m%d%H%M`.tgz tar -czvf $ARCHIVE lib boot cd $SOURCE dialog --msgbox "Build Completed in $ARCHIVE!" 7 60