Parcourir la source

Merge branch 'master' into utils_verify

Antony Messerli il y a 9 ans
Parent
commit
06f1cf25d1
12 fichiers modifiés avec 24 ajouts et 29 suppressions
  1. 1 0
      README.md
  2. 5 5
      docs/faq.md
  3. 1 0
      docs/index.md
  4. 2 2
      ipxe/disks/netboot.xyz-dhcp
  5. 1 1
      ipxe/disks/netboot.xyz-static
  6. 1 1
      src/boot.cfg
  7. 3 7
      src/fedora.ipxe
  8. BIN
      src/memdisk
  9. 0 10
      src/mirrors.ipxe
  10. 0 2
      src/opensuse.ipxe
  11. 3 1
      src/scientific.ipxe
  12. 7 0
      src/utils.ipxe

+ 1 - 0
README.md

@@ -68,6 +68,7 @@ Full documentation is at ReadTheDocs:
 * [Partition Wizard](http://www.partitionwizard.com)
 * [Pogostick - Offline Windows Password and Registry Editor](http://pogostick.net/~pnh/ntpasswd)
 * [Super Grub2 Disk](http://www.supergrubdisk.org)
+* [Ultimate Boot CD](http://www.ultimatebootcd.com)
 
 #### Feedback
 

+ 5 - 5
docs/faq.md

@@ -1,19 +1,19 @@
-### Frequently Asked Questions
+## Frequently Asked Questions
 
-#### What is this?
+### What is this?
 netboot.xyz is tool that allows you to boot your favorite Operating System's installer or various utilities over the network with minimal overhead and all from a single menu system.  It's similar to various tools netbooting tools of the past like boot.kernel.org with a lot more flexibility.  The boot loader is very light weight being under 1MB in size which translates into a very quick time to create a USB key.
 
-#### How does this work?
+### How does this work?
 netboot.xyz uses an open source tool called iPXE.  The bootloader used calls to a webserver that hosts that the iPXE source files.  The iPXE source files contain menus and logic that understand how the various Linux installers operate.  When you select an Operating System, netboot.xyz retrieves the images from the project directory when possible or known and trusted performant mirrors.  The location the file is pulled from is always displayed during retrieval.
 
-#### Will my favorite distribution work?
+### Will my favorite distribution work?
 Usually you need three things to boot up an OS, the vmlinuz, the initramfs, and the rootfs.  Distributions that support an installer kernel hosted on a mirror are typically the easier ones to implement.  Distributions that only release as ISOs typically are harder to implement as we have to use memdisk to load it up into memory.  
 
 From [syslinux - memdisk](http://www.syslinux.org/wiki/index.php/MEMDISK): The majority of Linux based CD images will also fail to work with MEMDISK ISO emulation. Linux distributions require kernel and initrd files to be specified, as soon as these files are loaded the protected mode kernel driver(s) take control and the virtual CD will no longer be accessible. If any other files are required from the CD/DVD they will be missing, resulting in boot error(s). Linux distributions that only require kernel and initrd files function fully via ISO emulation, as no other data needs accessing from the virtual CD/DVD drive once they have been loaded. The boot loader has read all necessary files to memory by using INT 13h, before booting the kernel.
 
 You can read more about my thoughts and possible solutions [here](https://www.reversengineered.com/2016/01/07/booting-linux-isos-with-memdisk-and-ipxe/).
 
-#### My distribution uses ISOs for delivery, how can I see if they work?
+### My distribution uses ISOs for delivery, how can I see if they work?
 You can do a quick check by loading up netboot.xyz in a virtual environment baremetal.  Make sure you have plenty of RAM as you are loading the ISO into RAM.  Then select the iPXE command line and enter the following;
 
     kernel https://boot.netboot.xyz/memdisk iso raw

+ 1 - 0
docs/index.md

@@ -72,6 +72,7 @@ You'll need to make sure to have [DOWNLOAD_PROTO_HTTPS](https://github.com/ipxe/
 * [Partition Wizard](http://www.partitionwizard.com)
 * [Pogostick - Offline Windows Password and Registry Editor](http://pogostick.net/~pnh/ntpasswd)
 * [Super Grub2 Disk](http://www.supergrubdisk.org)
+* [Ultimate Boot CD](http://www.ultimatebootcd.com)
 
 ### Source Code
 

+ 2 - 2
ipxe/disks/netboot.xyz-dhcp

@@ -5,7 +5,7 @@ set version 1.03
 echo netboot.xyz iPXE loader v${version}
 goto dhcp
 
-:dhcp  
+:dhcp
 dhcp || goto static
 goto menu
 
@@ -22,7 +22,7 @@ echo Attempting chainload of netboot.xyz...
 goto menu || goto failsafe
 
 :menu
-chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS appears to have failed... attemping HTTP
+chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS appears to have failed... attempting HTTP
 sleep 5
 chain --autofree http://boot.netboot.xyz/menu.ipxe || echo HTTP has failed, localbooting...
 goto boot

+ 1 - 1
ipxe/disks/netboot.xyz-static

@@ -18,7 +18,7 @@ echo Attempting chainload of netboot.xyz...
 goto menu || goto failsafe
 
 :menu
-chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS appears to have failed... attemping HTTP
+chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS appears to have failed... attempting HTTP
 sleep 5
 chain --autofree http://boot.netboot.xyz/menu.ipxe || echo HTTP has failed, localbooting...
 goto boot

+ 1 - 1
src/boot.cfg

@@ -16,7 +16,7 @@ set memdisk https://${boot_domain}/memdisk
 set sigs_enabled true
 
 # image signatures check enabled?
-set img_sigs_enabled true
+set img_sigs_enabled false
 
 # set location of signatures for sources
 set sigs http://${boot_domain}/sigs/

+ 3 - 7
src/fedora.ipxe

@@ -51,15 +51,11 @@ goto boot
 
 :boot
 imgfree
-kernel http://${mirror}/${dir}/images/pxeboot/vmlinuz repo=http://${mirror}/${dir} ${params} || goto change_mirror
-initrd http://${mirror}/${dir}/images/pxeboot/initrd.img ||
-boot || 
+kernel http://${mirror}/${dir}/images/pxeboot/vmlinuz repo=http://${mirror}/${dir} ${params}
+initrd http://${mirror}/${dir}/images/pxeboot/initrd.img
+boot
 goto linux_menu
 
-:change_mirror
-chain --autofree mirrors.ipxe
-goto boot
-
 :linux_menu
 clear menu
 exit 0

BIN
src/memdisk


+ 0 - 10
src/mirrors.ipxe

@@ -1,10 +0,0 @@
-#!ipxe
-
-# Basic attempt at mirror rotation
-
-:mirror_start
-iseq ${mirror} mirror.rackspace.com && set mirror mirrors.kernel.org && goto mirror_end ||
-iseq ${mirror} mirrors.kernel.org && set mirror mirror.rackspace.com && goto mirror_end ||
-echo Setting mirror to ${mirror}...
-
-:mirror_end

+ 0 - 2
src/opensuse.ipxe

@@ -10,13 +10,11 @@ item 13.1 openSUSE 13.1
 item 12.3 openSUSE 12.3
 item 12.2 openSUSE 12.2
 item 11.4 openSUSE 11.4
-item factory-tested openSUSE factory-tested
 item tumbleweed openSUSE tumbleweed
 choose version || goto opensuse_exit
 set dir opensuse/distribution/${version}/repo/oss
 iseq ${version} 42.1 && set dir opensuse/distribution/leap/42.1/repo/oss && set arch x86_64 ||
 iseq ${version} tumbleweed && set mirror download.opensuse.org && set dir ${version}/repo/oss ||
-iseq ${version} factory-tested && set dir ${version}/repo/oss/ ||
 
 imgfree
 kernel http://${mirror}/${dir}/boot/${arch}/loader/linux

+ 3 - 1
src/scientific.ipxe

@@ -9,8 +9,10 @@ goto ${menu} ||
 clear osversion
 set os Scientific
 menu ${os} ${arch}
+item 7.2 ${os} 7.2
+item 7.1 ${os} 7.1
 item 7.0 ${os} 7.0
-item 6.5 ${os} 6.5
+item 6.7 ${os} 6.7
 item other Choose other version [o]
 isset ${osversion} || choose osversion || goto linux_menu
 iseq ${osversion} other || goto scientific_skip_read_osversion

+ 7 - 0
src/utils.ipxe

@@ -13,6 +13,7 @@ item memtest-501 ${space} Memtest86+ 5.01
 item partition-wizard ${space} Partition Wizard
 item pogostick ${space} Pogostick - Offline Windows Password and Registry Editor
 item supergrub ${space} Super Grub2 Disk
+item ubcd ${space} Ultimate Boot CD (UBCD)
 item --gap netboot.xyz tools:
 item nbxyz-custom ${space} Set Github User [user: ${github_user}]
 item testdistro ${space} Test Distribution ISO
@@ -136,6 +137,12 @@ echo Attempting to chainload:
 chain --autofree https://raw.githubusercontent.com/${github_user}/netboot.xyz/${github_hash}/src/menu.ipxe || echo Unable to find branch... && sleep 5 && goto utils_exit
 goto utils_exit
 
+:ubcd
+kernel ${memdisk} iso raw
+initrd http://mirror.sysadminguide.net/ubcd/ubcd535.iso
+boot
+goto utils_exit
+
 :utils_exit
 clear menu
 exit 0