wok-tiny annotate linux/receipt @ rev 139
linux: pack setup
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Jul 01 10:56:29 2018 +0200 (2018-07-01) |
parents | e5cfd000e4a6 |
children | d71bd8881bcd |
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@119 | 18 BUILD_DEPENDS="slitaz-toolchain perl git lzma wget gcc2" |
pascal@139 | 19 BUILD_SUGGESTED="advancecomp zopfli lz4 grep" |
pascal@94 | 20 |
pascal@107 | 21 case "$TARGET" in |
pascal@107 | 22 i486) SUGGESTED="memtest ipxe";; # bundle may install a boot menu |
pascal@107 | 23 esac |
pascal@107 | 24 |
pascal@139 | 25 S2bin() |
pascal@139 | 26 { |
pascal@139 | 27 cc -o $1.o -Wa,-algms=$1.lst -c $stuff/$1.S |
pascal@139 | 28 objcopy -O binary $1.o $1.bin |
pascal@139 | 29 } |
pascal@139 | 30 |
pascal@94 | 31 # Rules to configure and make the package. |
pascal@94 | 32 compile_rules() |
pascal@94 | 33 { |
pascal@94 | 34 [ -s $SRC/$(basename $PATCH) ] || |
pascal@94 | 35 wget --no-check-certificate -O $SRC/$(basename $PATCH) $PATCH |
pascal@94 | 36 bzcat $SRC/$(basename $PATCH) | patch -p1 |
pascal@110 | 37 patch -p0 < $stuff/linux-2.6.14-unpack.u |
pascal@119 | 38 patch -p0 < $stuff/jsclipboard.u |
pascal@94 | 39 sed -i 's|\([>\.]\)val|\1u.val|;s|\([>\.]\)next|\1u.next|;216s|};|} u;|' lib/inflate.c |
pascal@94 | 40 sed '/DEBUG/,/* kstrdup/d' < mm/slab.c > mm/kstrdup.c |
pascal@94 | 41 echo 'obj-y += kstrdup.o' >> mm/Makefile |
pascal@94 | 42 sed -i 's|3.1024|11*256|' arch/i386/boot/compressed/misc.c |
pascal@116 | 43 sed -i 's/O_CREAT/&|O_TRUNC/' init/initramfs.c |
pascal@94 | 44 which advdef 2> /dev/null && |
pascal@94 | 45 sed -i 's|gzip)|&\n advdef -z4 $@|' usr/Makefile arch/i386/boot/compressed/Makefile |
pascal@119 | 46 which zopfli 2> /dev/null && |
pascal@119 | 47 sed -i 's|gzip -f -9 <|time zopfli --i100 -c|' scripts/Makefile.lib |
pascal@94 | 48 |
pascal@94 | 49 if [ ! -s $WOK/busybox/source/busybox*/rootfs.cpio ]; then |
pascal@94 | 50 tazwok cook busybox |
pascal@94 | 51 fi |
pascal@94 | 52 cp $WOK/busybox/source/busybox*/rootfs.cpio $src |
pascal@94 | 53 cp $WOK/busybox/source/busybox*/.config $src/config-busybox |
pascal@94 | 54 mkdir $src/slitaz |
pascal@94 | 55 cp $stuff/list_modules.sh $src/slitaz |
pascal@139 | 56 S2bin bootloader |
pascal@139 | 57 S2bin unpacklz4 |
pascal@94 | 58 |
pascal@110 | 59 sed -i '/config %config:/{NNNps/config %config:/%config:/}' Makefile |
pascal@110 | 60 sed -i 's/^config %config:/config:/' Makefile |
pascal@94 | 61 cp $stuff/linux-$VERSION-slitaz.config .config |
pascal@94 | 62 yes '' | make ARCH=i386 HOSTCC=gcc-2 config |
pascal@94 | 63 make ARCH=i386 CC=gcc-2 HOSTCC=gcc-2 -j 4 bzImage |
pascal@139 | 64 $stuff/pack bzImage |
pascal@94 | 65 grep -q "CONFIG_MODULES=y" .config && |
pascal@94 | 66 make ARCH=i386 CC=gcc-2 HOSTCC=gcc-2 -j 4 modules && |
pascal@94 | 67 make ARCH=i386 INSTALL_MOD_PATH=$DESTDIR -j 1 modules_install || true |
pascal@139 | 68 S2bin bundle |
pascal@104 | 69 cp $stuff/bundle . |
pascal@104 | 70 ./bundle |
pascal@139 | 71 S2bin cmdline |
pascal@94 | 72 } |
pascal@94 | 73 |
pascal@94 | 74 # Rules to gen a SliTaz package suitable for Tazpkg. |
pascal@94 | 75 genpkg_rules() |
pascal@94 | 76 { |
pascal@94 | 77 mkdir $fs/boot |
pascal@94 | 78 cp -a $src/arch/i386/boot/bzImage $fs/boot/ |
pascal@95 | 79 dd if=$src/bootloader.bin of=$fs/boot/bzImage conv=notrunc |
pascal@109 | 80 dd if=$src/cmdline.bin bs=1 seek=560 of=$fs/boot/bzImage conv=notrunc |
pascal@94 | 81 cp -a $src/System.map $fs/boot/ |
pascal@94 | 82 cp -a $src/.config $fs/boot/config |
pascal@94 | 83 cp -a $src/config-busybox $fs/boot |
pascal@104 | 84 cp -a $src/bundle.sh $fs/boot/bundle |
pascal@94 | 85 } |
pascal@94 | 86 |
pascal@94 | 87 # Pre and post install commands for Tazpkg. |
pascal@94 | 88 post_install() |
pascal@94 | 89 { |
pascal@94 | 90 echo "Processing post-install commands..." |
pascal@109 | 91 chroot "$1/" /boot/depmod -a $VERSION-slitaz |
pascal@109 | 92 [ -s $1/boot/cmdline ] && cat $1/boot/cmdline | sed 's/^ *//' | \ |
pascal@109 | 93 dd of=$1/boot/bzImage conv=notrunc bs=1 seek=768 count=3072 |
pascal@94 | 94 # GRUB stuff. |
pascal@94 | 95 if [ -f "$1/boot/grub/menu.lst" ]; then |
pascal@94 | 96 root_dev=`cat $1/boot/grub/menu.lst | grep root= | sed 's/.*root=\([^ ]*\).*/\1/' | head -n 1` |
pascal@94 | 97 grub_dev=`cat $1/boot/grub/menu.lst | grep "root (" | head -n 1` |
pascal@94 | 98 # Add new kernel entry in case of upgrade for installed system. |
pascal@94 | 99 if ! grep -q $SOURCE-$VERSION-slitaz $1/boot/grub/menu.lst; then |
pascal@94 | 100 cat >> $1/boot/grub/menu.lst << EOT |
pascal@94 | 101 |
pascal@94 | 102 title SliTaz GNU/Linux (Kernel $VERSION-slitaz) |
pascal@94 | 103 $grub_dev |
pascal@94 | 104 kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev |
pascal@94 | 105 EOT |
pascal@94 | 106 fi |
pascal@94 | 107 # Display information message. |
pascal@94 | 108 cat <<EOT |
pascal@94 | 109 ---- |
pascal@94 | 110 GRUB is installed, these tree lines must be in your /boot/grub/menu.lst: |
pascal@94 | 111 |
pascal@94 | 112 title SliTaz GNU/Linux (Kernel $VERSION-slitaz) |
pascal@94 | 113 $grub_dev |
pascal@94 | 114 kernel /boot/vmlinuz-$VERSION-slitaz root=$root_dev |
pascal@94 | 115 ---- |
pascal@94 | 116 EOT |
pascal@94 | 117 fi |
pascal@94 | 118 } |