wok-current rev 3665
Up syslinux (3.82) + add ifmem.c32
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jul 10 10:50:27 2009 +0200 (2009-07-10) |
parents | fd3a74d77594 |
children | f779db80fe51 |
files | syslinux-extra/receipt syslinux-modules/receipt syslinux-tools/receipt syslinux/receipt syslinux/stuff/extra/ifmem.c |
line diff
1.1 --- a/syslinux-extra/receipt Thu Jul 09 10:12:42 2009 +0200 1.2 +++ b/syslinux-extra/receipt Fri Jul 10 10:50:27 2009 +0200 1.3 @@ -1,7 +1,7 @@ 1.4 # SliTaz package receipt. 1.5 1.6 PACKAGE="syslinux-extra" 1.7 -VERSION="3.73" 1.8 +VERSION="3.82" 1.9 CATEGORY="system-tools" 1.10 SHORT_DESC="MBR/FAT/EXT3/PXE bootloader files" 1.11 MAINTAINER="pankso@slitaz.org"
2.1 --- a/syslinux-modules/receipt Thu Jul 09 10:12:42 2009 +0200 2.2 +++ b/syslinux-modules/receipt Fri Jul 10 10:50:27 2009 +0200 2.3 @@ -1,9 +1,9 @@ 2.4 # SliTaz package receipt. 2.5 2.6 PACKAGE="syslinux-modules" 2.7 -VERSION="3.73" 2.8 +VERSION="3.82" 2.9 CATEGORY="system-tools" 2.10 -SHORT_DESC="C32 modules for syslinux" 2.11 +SHORT_DESC="modules for syslinux" 2.12 MAINTAINER="pankso@slitaz.org" 2.13 WANTED="syslinux" 2.14 WEB_SITE="http://syslinux.zytor.com/" 2.15 @@ -13,7 +13,16 @@ 2.16 genpkg_rules() 2.17 { 2.18 mkdir -p $fs/usr/share/boot 2.19 - for i in mboot sanboot chain elf reboot ifcpu64 linux sdi menu vesamenu; do 2.20 - lzma e $src/com32/*/$i.c32 $fs/usr/share/boot/$i.c32.lzma 2> /dev/null 2.21 + for i in $src/com32/*/*.c32 ; do 2.22 + case "$i" in 2.23 + */reboot.c32|*/ifmem.c32) continue;; 2.24 + esac 2.25 + lzma e $i $fs/usr/share/boot/$(basename $i).lzma 2> /dev/null 2.26 + done 2.27 + for i in $src/modules/*.com ; do 2.28 + case "$i" in 2.29 + */poweroff.com) continue;; 2.30 + esac 2.31 + cp $i $fs/usr/share/boot/$(basename $i) 2> /dev/null 2.32 done 2.33 }
3.1 --- a/syslinux-tools/receipt Thu Jul 09 10:12:42 2009 +0200 3.2 +++ b/syslinux-tools/receipt Fri Jul 10 10:50:27 2009 +0200 3.3 @@ -1,7 +1,7 @@ 3.4 # SliTaz package receipt. 3.5 3.6 PACKAGE="syslinux-tools" 3.7 -VERSION="3.73" 3.8 +VERSION="3.82" 3.9 CATEGORY="system-tools" 3.10 SHORT_DESC="Misc perl tools" 3.11 MAINTAINER="pascal.bellard@slitaz.org"
4.1 --- a/syslinux/receipt Thu Jul 09 10:12:42 2009 +0200 4.2 +++ b/syslinux/receipt Fri Jul 10 10:50:27 2009 +0200 4.3 @@ -1,7 +1,7 @@ 4.4 # SliTaz package receipt. 4.5 4.6 PACKAGE="syslinux" 4.7 -VERSION="3.73" 4.8 +VERSION="3.82" 4.9 CATEGORY="base-system" 4.10 SHORT_DESC="LiveCD ISO bootloader (isolinux)" 4.11 MAINTAINER="pankso@slitaz.org" 4.12 @@ -17,6 +17,10 @@ 4.13 { 4.14 cd $src 4.15 cp ../stuff/tools/keytab-lilo.pl . 4.16 + cp ../stuff/extra/ifmem.c com32/modules 4.17 + grep -q ifmem.c32 com32/modules/Makefile || 4.18 + sed -i 's/ifcpu64.c32/ifcpu64.c32 ifmem.c32/' com32/modules/Makefile 4.19 + make -C com32 4.20 for i in /usr/share/kbd/keymaps/i386/*/*.map.gz; do 4.21 [ "$(basename $(dirname $i))" = "include" ] && continue 4.22 j=$(basename $i) 4.23 @@ -31,6 +35,8 @@ 4.24 mkdir -p $fs/boot/isolinux 4.25 cp -a $src/core/isolinux.bin $fs/boot/isolinux 4.26 cp -a $src/com32/modules/reboot.c32 $fs/boot/isolinux 4.27 + cp -a $src/com32/modules/ifmem.c32 $fs/boot/isolinux 4.28 + cp -a $src/modules/poweroff.com $fs/boot/isolinux 4.29 cp stuff/*.* $fs/boot/isolinux 4.30 while read cfg kbd loc ; do 4.31 sed -e "s/^display/kbdmap $cfg.kbd\ndisplay/" \
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/syslinux/stuff/extra/ifmem.c Fri Jul 10 10:50:27 2009 +0200 5.3 @@ -0,0 +1,77 @@ 5.4 +/* ----------------------------------------------------------------------- * 5.5 + * 5.6 + * Copyright 2009 Pascal Bellard - All Rights Reserved 5.7 + * 5.8 + * This program is free software; you can redistribute it and/or modify 5.9 + * it under the terms of the GNU General Public License as published by 5.10 + * the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 5.11 + * Boston MA 02110-1301, USA; either version 2 of the License, or 5.12 + * (at your option) any later version; incorporated herein by reference. 5.13 + * 5.14 + * ----------------------------------------------------------------------- */ 5.15 + 5.16 +/* 5.17 + * ifmem.c 5.18 + * 5.19 + * Run one command if the memory is large enought, and another if it isn't. 5.20 + * 5.21 + * Usage: 5.22 + * 5.23 + * label boot_kernel 5.24 + * kernel ifmem.c 5.25 + * append size_in_KB boot_large [size_in_KB boot_medium] boot_small 5.26 + * 5.27 + * label boot_large 5.28 + * kernel vmlinuz_large_memory 5.29 + * append ... 5.30 + * 5.31 + * label boot_small 5.32 + * kernel vmlinuz_small_memory 5.33 + * append ... 5.34 + */ 5.35 + 5.36 +#include <inttypes.h> 5.37 +#include <com32.h> 5.38 +#include <console.h> 5.39 +#include <stdio.h> 5.40 +#include <string.h> 5.41 +#include <alloca.h> 5.42 +#include <stdlib.h> 5.43 +#include <syslinux/boot.h> 5.44 + 5.45 +static long memory_size(void) 5.46 +{ 5.47 + com32sys_t ireg, oreg; 5.48 + 5.49 + memset(&ireg, 0, sizeof ireg); 5.50 + 5.51 + ireg.eax.w[0] = 0xe801; 5.52 + __intcall(0x15, &ireg, &oreg); 5.53 + 5.54 + return oreg.ecx.w[0] + ( oreg.edx.w[0] << 6); 5.55 +} 5.56 + 5.57 +int main(int argc, char *argv[]) 5.58 +{ 5.59 + char *s; 5.60 + int i; 5.61 + 5.62 + for (s = argv[1]; *s && (*s < '0' || *s > '9'); s++); 5.63 + 5.64 + if (argc < 4 || !*s) { 5.65 + openconsole(&dev_null_r, &dev_stdcon_w); 5.66 + perror("\nUsage: ifmem.c32 size_KB boot_large_memory boot_small_memory\n"); 5.67 + return 1; 5.68 + } 5.69 + 5.70 + for (i = 1; i + 2 < argc; ) { 5.71 + i++; // size 5.72 + if (memory_size() >= strtoul(s, NULL, 0)) break; 5.73 + s = argv[++i]; 5.74 + } 5.75 + if (argv[i]) 5.76 + syslinux_run_command(argv[i]); 5.77 + else 5.78 + syslinux_run_default(); 5.79 + return -1; 5.80 +}