wok-tiny annotate linux/receipt @ rev 107

linux: suggest memtest & ipxe
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Feb 09 10:08:12 2016 +0100 (2016-02-09)
parents 2cc2f08d75b7
children 0d8ef9102fc0
rev   line source
pascal@94 1 # SliTaz package receipt.
pascal@94 2
pascal@94 3 PACKAGE="linux"
pascal@94 4 VERSION="2.6.14"
pascal@94 5 CATEGORY="base-system"
pascal@94 6 SHORT_DESC="The Linux kernel."
pascal@94 7 TARGET="i486"
pascal@94 8 MAINTAINER="devel@slitaz.org"
pascal@94 9 LICENSE="GPL2"
pascal@94 10 TARBALL="$PACKAGE-$VERSION.tar.bz2"
pascal@94 11 WEB_SITE="http://www.kernel.org/"
pascal@94 12 WGET_URL="https://www.kernel.org/pub/linux/kernel/v${VERSION:0:3}/$TARBALL"
pascal@94 13 WEB_SITE2="http://elinux.org/Linux_Tiny"
pascal@94 14 PATCH="https://www.selenic.com/tiny/2.6.14-tiny1.patch.bz2"
pascal@94 15 AUTO_SELECTION="always"
pascal@94 16
pascal@107 17 DEPENDS=""
pascal@94 18 BUILD_DEPENDS="slitaz-toolchain perl git lzma wget gcc2 advancecomp"
pascal@94 19
pascal@107 20 case "$TARGET" in
pascal@107 21 i486) SUGGESTED="memtest ipxe";; # bundle may install a boot menu
pascal@107 22 esac
pascal@107 23
pascal@94 24 # Rules to configure and make the package.
pascal@94 25 compile_rules()
pascal@94 26 {
pascal@94 27 [ -s $SRC/$(basename $PATCH) ] ||
pascal@94 28 wget --no-check-certificate -O $SRC/$(basename $PATCH) $PATCH
pascal@94 29 bzcat $SRC/$(basename $PATCH) | patch -p1
pascal@94 30 sed -i 's|\([>\.]\)val|\1u.val|;s|\([>\.]\)next|\1u.next|;216s|};|} u;|' lib/inflate.c
pascal@94 31 sed '/DEBUG/,/* kstrdup/d' < mm/slab.c > mm/kstrdup.c
pascal@94 32 echo 'obj-y += kstrdup.o' >> mm/Makefile
pascal@94 33 sed -i 's|3.1024|11*256|' arch/i386/boot/compressed/misc.c
pascal@94 34 which advdef 2> /dev/null &&
pascal@94 35 sed -i 's|gzip)|&\n advdef -z4 $@|' usr/Makefile arch/i386/boot/compressed/Makefile
pascal@94 36
pascal@94 37 if [ ! -s $WOK/busybox/source/busybox*/rootfs.cpio ]; then
pascal@94 38 tazwok cook busybox
pascal@94 39 fi
pascal@94 40 cp $WOK/busybox/source/busybox*/rootfs.cpio $src
pascal@94 41 cp $WOK/busybox/source/busybox*/.config $src/config-busybox
pascal@94 42 mkdir $src/slitaz
pascal@94 43 cp $stuff/list_modules.sh $src/slitaz
pascal@95 44 cc -o bootloader.o -Wa,-algms=bootloader.lst -c $stuff/bootloader.S
pascal@95 45 objcopy -O binary bootloader.o bootloader.bin
pascal@94 46
pascal@94 47 sed -i 's/^config %config/config/' Makefile
pascal@94 48 cp $stuff/linux-$VERSION-slitaz.config .config
pascal@94 49 yes '' | make ARCH=i386 HOSTCC=gcc-2 config
pascal@94 50 make ARCH=i386 CC=gcc-2 HOSTCC=gcc-2 -j 4 bzImage
pascal@94 51 grep -q "CONFIG_MODULES=y" .config &&
pascal@94 52 make ARCH=i386 CC=gcc-2 HOSTCC=gcc-2 -j 4 modules &&
pascal@94 53 make ARCH=i386 INSTALL_MOD_PATH=$DESTDIR -j 1 modules_install || true
pascal@104 54 cc -o bundle.o -Wa,-algms=bundle.lst -c $stuff/bundle.S
pascal@104 55 objcopy -O binary bundle.o bundle.bin
pascal@104 56 cp $stuff/bundle .
pascal@104 57 ./bundle
pascal@94 58 }
pascal@94 59
pascal@94 60 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@94 61 genpkg_rules()
pascal@94 62 {
pascal@94 63 mkdir $fs/boot
pascal@94 64 cp -a $src/arch/i386/boot/bzImage $fs/boot/
pascal@95 65 dd if=$src/bootloader.bin of=$fs/boot/bzImage conv=notrunc
pascal@94 66 cp -a $src/System.map $fs/boot/
pascal@94 67 cp -a $src/.config $fs/boot/config
pascal@94 68 cp -a $src/config-busybox $fs/boot
pascal@104 69 cp -a $src/bundle.sh $fs/boot/bundle
pascal@94 70 }
pascal@94 71
pascal@94 72 # Pre and post install commands for Tazpkg.
pascal@94 73 post_install()
pascal@94 74 {
pascal@94 75 echo "Processing post-install commands..."
pascal@94 76 chroot "$1/" depmod -a $VERSION-slitaz
pascal@94 77 # GRUB stuff.
pascal@94 78 if [ -f "$1/boot/grub/menu.lst" ]; then
pascal@94 79 root_dev=`cat $1/boot/grub/menu.lst | grep root= | sed 's/.*root=\([^ ]*\).*/\1/' | head -n 1`
pascal@94 80 grub_dev=`cat $1/boot/grub/menu.lst | grep "root (" | head -n 1`
pascal@94 81 # Add new kernel entry in case of upgrade for installed system.
pascal@94 82 if ! grep -q $SOURCE-$VERSION-slitaz $1/boot/grub/menu.lst; then
pascal@94 83 cat >> $1/boot/grub/menu.lst << EOT
pascal@94 84
pascal@94 85 title SliTaz GNU/Linux (Kernel $VERSION-slitaz)
pascal@94 86 $grub_dev
pascal@94 87 kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev
pascal@94 88 EOT
pascal@94 89 fi
pascal@94 90 # Display information message.
pascal@94 91 cat <<EOT
pascal@94 92 ----
pascal@94 93 GRUB is installed, these tree lines must be in your /boot/grub/menu.lst:
pascal@94 94
pascal@94 95 title SliTaz GNU/Linux (Kernel $VERSION-slitaz)
pascal@94 96 $grub_dev
pascal@94 97 kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev
pascal@94 98 ----
pascal@94 99 EOT
pascal@94 100 fi
pascal@94 101 }