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