# SliTaz package receipt. PACKED_SIZE="1.1M" UNPACKED_SIZE="1.9M" PACKAGE="linux" VERSION="2.6.20" CATEGORY="base-system" SHORT_DESC="The Linux kernel." TARGET="i486" MAINTAINER="devel@slitaz.org" LICENSE="GPL2" TARBALL="$PACKAGE-$VERSION.tar.bz2" WEB_SITE="http://www.kernel.org/" WGET_URL="https://www.kernel.org/pub/linux/kernel/v${VERSION:0:3}/$TARBALL" AUTO_SELECTION="always" DEPENDS="" BUILD_DEPENDS="slitaz-toolchain perl git lzma wget upx" INSTALL_DEPENDS="lz4 grep" case "$TARGET" in i486) SUGGESTED="memtest ipxe plop tfttest x86test";; # bundle may install a boot menu esac S2bin() { [ -s $stuff/$1.S ] && cc $2 -o $1.o -Wa,-algms=$1.lst -c $stuff/$1.S && objcopy -O binary $1.o $1.bin } rootfs() { [ -s $stuff/root.cpio ] && cp $stuff/root.cpio . && sed -i 's|CONFIG_INITRAMFS_SOURCE="|&root.cpio|' .config } setup_code() { echo $((514 + $(od -An -j 513 -N 1 -i $1))) } # Rules to configure and make the package. compile_rules() { export CFLAGS="-march=i386 -Os -pipe -fomit-frame-pointer" for i in $stuff/linux-$VERSION-*.u ; do patch -p0 < $i done sed -i 's/O_CREAT/&|O_TRUNC/' init/initramfs.c sed -i 's|hostname|echo tank|' scripts/mkcompile_h mkdir $src/slitaz cp $stuff/list_modules.sh $src/slitaz S2bin bootloader S2bin helper S2bin unpacklz4 cp $stuff/pack $stuff/un*.S . sed -i '/config %config:/{NNNps/config %config:/%config:/}' Makefile && sed -i 's/^config %config:/config:/' Makefile #2.6.20 sed -i '/\/ %\/:/{NNps/\/ %\/:/%\/:/}' Makefile && sed -i 's/^\/ %\/:/\/:/' Makefile sed -i 's|.*netinet/in|#include \n&|' scripts/mod/sumversion.c cp $stuff/linux-$VERSION-slitaz.config .config rootfs yes '' | make ARCH=i386 HOSTCC=gcc config make ARCH=i386 CC=gcc HOSTCC=gcc -j 4 bzImage cp arch/i386/boot/bzImage arch/i386/boot/bzImage.made.386 sh ./pack --build arch/i386/boot/bzImage.made.386 grep -q "CONFIG_MODULES=y" .config && make ARCH=i386 CC=gcc HOSTCC=gcc -j 4 modules && make ARCH=i386 INSTALL_MOD_PATH=$DESTDIR -j 1 modules_install || true S2bin bundle cp $stuff/bundle . sh ./bundle S2bin cmdline -DEDIT_CMDLINE ; mv cmdline.bin editcmdline.bin S2bin cmdline [ $(upx --version 2> /dev/null | sed '/upx/!d;s|upx ||;s|\.||;q')0 -ge 3960 ] && upx --ultra-brute arch/i386/boot/bzImage cp arch/i386/boot/bzImage arch/i386/boot/bzImage.386 cp .config .config.386 cp System.map System.map.386 cp $stuff/linux-$VERSION-slitaz.config.586 .config rootfs yes '' | make ARCH=i386 HOSTCC=gcc config make ARCH=i386 CC=gcc HOSTCC=gcc -j 4 bzImage cp arch/i386/boot/bzImage arch/i386/boot/bzImage.made which upx 2> /dev/null && upx --ultra-brute arch/i386/boot/bzImage } # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { mkdir $fs/boot cp -a $src/pack $fs/boot/ cp -a $src/bundle.sh $fs/boot/bundle cp -a $src/cmdline.bin $fs/boot/ cp -a $src/editcmdline.bin $fs/boot/ for i in '' .386 ; do [ -s $src/arch/i386/boot/bzImage$i ] || continue cp -a $src/arch/i386/boot/bzImage$i $fs/boot/ dd if=$src/bootloader.bin of=$fs/boot/bzImage$i conv=notrunc 2> /dev/null cp -a $src/System.map$i $fs/boot/ cp -a $src/.config$i $fs/boot/config$i done } config_form() { cat < Tune the kernel according to the CPU type

for any CPU starting from 386sx optimized for pentium or newer CPU
The user can edit the kernel cmdline at boot time. EOT } # Pre and post install commands for Tazpkg. post_install() { for i in $1/boot/*.386 ; do [ "$CPU586" = "yes" ] && rm -f $i || mv -f $i ${i%.386} done 2> /dev/null [ -s $1/boot/cmdline ] && cat $1/boot/cmdline | sed 's/^ *//' | \ dd of=$1/boot/bzImage conv=notrunc bs=1 seek=768 count=3072 && dd if=$1/boot/cmdline.bin bs=1 seek=$(setup_code $1/boot/bzImage) of=$1/boot/bzImage conv=notrunc [ "$EDIT_CMDLINE" ] && dd if=$1/boot/editcmdline.bin bs=1 seek=$(setup_code $1/boot/bzImage) of=$1/boot/bzImage conv=notrunc $1/boot/pack $1/boot/bzImage }