FS#12619 - PXE install requires USB?
Attached to Project:
Release Engineering
Opened by Luke Camden (lukec) - Tuesday, 30 December 2008, 13:16 GMT
Last edited by Dieter Plaetinck (Dieter_be) - Sunday, 16 May 2010, 14:52 GMT
Opened by Luke Camden (lukec) - Tuesday, 30 December 2008, 13:16 GMT
Last edited by Dieter Plaetinck (Dieter_be) - Sunday, 16 May 2010, 14:52 GMT
|
Details
Description:
Instructions at http://wiki.archlinux.org/index.php/PXE seem to require a USB drive for the installer to run when installing over a network. Is there any plan to change this requirement? See http://wiki.archlinux.org/index.php/Talk:Install_Arch_from_network_%28via_PXE%29 and http://bbs.archlinux.org/viewtopic.php?id=51951 for discussion. |
This task depends upon
Closed by Dieter Plaetinck (Dieter_be)
Sunday, 16 May 2010, 14:52 GMT
Reason for closing: Implemented
Sunday, 16 May 2010, 14:52 GMT
Reason for closing: Implemented
The old initrd would require configuration because according this post (http://bbs.archlinux.org/viewtopic.php?pid=422941#p422941) "the repository structure and pacman changed". An attempt to use the old initrd with 2008.06 currently requires a non-trivial manual install of all packages using pacman.
The updated PXE initrd, kernel, pxelinux.0 etc could be released in a folder of the Archlinux CD iso (like Ubuntu) or could even be released as a package (in which case I may be posting this in completely the wrong place).
The above has been largely pieced together from forum posts and my very limited knowledge, so it would great if someone could correct what I've said.
Requiring a USB for a PXE boot largely defeats the purpose of a PXE install, since many machines can boot from USB anyway. Having machines (almost) autonomously downloading an Archlinux installer seems better than PXE clients having to manually download and burn the USB installer image and then boot with the USB stick in the drive.
ftp://ftp.archlinux.org/iso/archboot/
they load a root Fs over nfs iirc
The archiso.img initramfs is incremented from 5M to 8M (because of all networks drivers and firmwares), small difference. I chosed NBD over NFS because is more simple. (I think)
More info at commits:
http://github.com/djgera/archiso/commit/830555f71a6ea4fcda93657e7a2220d753f26757 - [archiso] Add nbd hook, to make posible boot archiso from PXE via a NBD.
http://github.com/djgera/archiso/commit/1320c0ee9152b91e60972551b98942ea2b24d34f - [syslinux-iso] Add PXE support via NBD.
And:
http://mailman.archlinux.org/pipermail/arch-releng/2010-March/000911.html
nbd (Maintainer: Gerbra) package need to be moved to [community] or [extra].
Reasons:
* Is working and does not affect normal boot process of archiso. [nbd] hook do the work only if ip= parameter is present at command line, that is automatic added when booting via PXE.
There is a small improvements that can be done anyway.
* if copytoram= option is added when booting from PXE there is no need to keep the connection to nbd-server alive.
* Add a small message at PXE prompt.
* For [syslinux-iso] the dirty server-launcher script can be added to overlay.
Of course if this will be merged, I can do it when I come back from my work.
Thanks to Ionut thats adopted the package "nbd" and moved to [community] makes my life more easy.
Notable changes:
* Booting from PXE users will see exact syslinux menu from live-media with all options and background :)
* There is a simple script /arch/archiso-pxe-server (can be launched without any parameters) that do all the work, only an ip address must be assigned to eth0 (default) before launch this script.
Ready to merge if accepted.
http://github.com/djgera/archiso/commits/pxe_nbd/
Also the script archiso-pxe-server is now compatible with archiso2dual, so from PXE can boot: i686, x86_64 or x86_64/kernel with i686/userspace, x86test and memtest86+ :)
nbd package can be moved from [community] to [extra], anyway current .iso images (2009.08), use grub-gfx from [community]
[#1] http://github.com/djgera/archiso/compare/master...pxe_nbd
I like pxe booting, and this implementation looks slick.
I like how the added functionality does not interfere with the normal stuf. the only downside is increased initcpio size, but i don't care about that and i doubt much users will.
nbd not being in extra should not be a deciding factor. If we merge this and nbd being in community is a problem then we move it. (it doesn't seem hard to maintain. simple PKGBUILD and infrequent releases.)
however:
- I think archiso-pxe-server - and it's dependency - dnsmasq should be something separate. It looks quite useful for those who want to setup something quickly, but it does not belong in archiso. maybe a separate project or just a "user script" for on the wiki.
- I didn't actually try this, but does the isolinux menu still make sense? I.e. the correct default boot option in both pxe and usb/cdrom scenarios, a sensible timeout, and alternative boot options where it makes sense?
Gerardo's "Booting from PXE users will see exact syslinux menu from live-media" makes me wonder.
So i would just add this to all our images, after stripping pxe-server/dnsmasq again and if the menu's still make sense.
@Dieter:
(1) About archiso-pxe-server is true, can be apart like is aif, anyway I like the idea of having it in the "packages.list" in a future (if users reclaim it of course), I can make a package in AUR.
(2) About the boot menu. This is done via archiso-pxe-server parsing installed "isolinux.cfg" and just change IPAPPEND from 0 to 1 (now to 3), and keep as-is instead of having another isolinux.cfg. If options makes sense or not, depends on what user want to do. Anyway this will be removed (1)
Big diff from master http://github.com/djgera/archiso/compare/master...pxe_nbd
I would merge this.
Out of curiosity, if I wanted to do this over PXE without archiso-pxe-server, how would I do it?
Without the script? a bit long to write, copy necesary files (vmlinuz, archiso.img, syslinux files) launch dnsmasq and nbd-server. See the script is easy to read.
I done a quick and dirty article in the wiki: http://wiki.archlinux.org/index.php/Archiso-as-pxe-server
Booting from PXE is... you have a motherboard, no disks, no usb keys, nothing!, only your onboard NIC with a firmware that tries to locate a DHCP server on boot.
dhcp server responds,
nic firmware gets pxelinux.0 boot program via TFTP
pxelinux.0 gets vmlinuz26 and archiso.img
pxelinux.0 launchs vmlinuz26
archiso_pxe_nbd is executed, and use a network block device to continue rest of boot.
So for example in my work (a school) I booted a custom image in one machine via USB and launched archiso-pxe-server. All rest of machines in the classroom booted from network (no disks, no usb), startx and happy XFCE with all tools that I needed :P
I've personally set up pxe servers in the past manually, it's a bit more work but no rocketscience. I definitely wouldn't say archiso-pxe-server is a must; it does make things more easy for "casual users".