# HG changeset patch # User Pascal Bellard # Date 1235945879 0 # Node ID 40049921ce2be9f2f0f7da2681f280ec9f8151c9 # Parent 5947b29555483e1d8e96a83b478c2f4cc2b64ba5 gpxe: add url redondancy diff -r 5947b2955548 -r 40049921ce2b gpxe/receipt --- a/gpxe/receipt Sun Mar 01 12:04:20 2009 +0000 +++ b/gpxe/receipt Sun Mar 01 22:17:59 2009 +0000 @@ -13,7 +13,7 @@ compile_rules() { cd $src/src - for i in prefix.u default_boot.u cmdline.u; do + for i in prefix.u default_boot.u cmdline.u url_list.u; do [ -f done.$i ] && continue echo "Apply $i..." patch -p2 < ../../stuff/$i || return 1 @@ -27,9 +27,12 @@ { mkdir -p $fs/boot cp $src/src/bin/gpxe.lkrn $fs/boot/gpxe - # install 127 bytes of forced url at offset 519 - echo -n "http://boot.slitaz.org/pxe/pxelinux.0" | cat - /dev/zero | \ - dd bs=1 seek=519 count=127 conv=notrunc of=$fs/boot/gpxe + # install 255 bytes of forced url at offset 519 + echo -n "\ +http://boot.slitaz.org/pxe/pxelinux.0,\ +http://mirror.slitaz.org/pxe/pxelinux.0,\ +http://download.tuxfamily.org/slitaz/pxe/pxelinux.0" | cat - /dev/zero | \ + dd bs=1 seek=519 count=255 conv=notrunc of=$fs/boot/gpxe # Package all gpxe pkgs for i in $(cd $WOK; ls -d gpxe-*) do diff -r 5947b2955548 -r 40049921ce2b gpxe/stuff/url_list.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpxe/stuff/url_list.u Sun Mar 01 22:17:59 2009 +0000 @@ -0,0 +1,20 @@ +--- gpxe-0.9.3/src/usr/autoboot.c ++++ gpxe-0.9.3/src/usr/autoboot.c +@@ -229,9 +229,14 @@ + set_url ( buf, forced_url.url ); + } + while (1) { +- if ( buf[0] ) { +- printf ( "Booting from filename \"%s\"\n", buf ); +- return boot_filename ( buf ); ++ while ( buf[0] ) { ++ char *p; ++ for ( p = buf; *p && *p != ','; p++ ); ++ if ( *p ) *p++ = 0; ++ set_url ( buf, buf ); ++ printf ( "Booting from filename \"%s\"\n", buf ); ++ if ( boot_filename ( buf ) == 0 ) return 0; ++ strcpy( buf, p ); + } + + /* No filename; try the root path */