netbootxyz / netboot.xyz

Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE.
https://netboot.xyz
Apache License 2.0
9.04k stars 674 forks source link

Update Live CD assets to use full initrds from their source ISO #429

Closed PascalPirate75 closed 4 years ago

PascalPirate75 commented 4 years ago

If I boot the experimental Linux live, many if not all, the Ubuntu flavors on Virtual Box boots and runs, but on computer they start to boots, loads the first two files but seems like it forgets the NIC settings and the stops prior to loading the squash file(S). It drops to BusyBox shell and ip addr only has lo-loopback listed but no other interfaces.

this is in eif mode and as such not exactly the same as in VB as on the computer but Debian boots in both.

BTW netboot.xyz is awesome I love it.

thelamer commented 4 years ago

Could be our initramfs is missing the drivers for your nic, what is the specific hardware you are running specifically the model/make of the nic?

PascalPirate75 commented 4 years ago

It is the Ethernet on a Dell Inspiron 15 3567
/0/100/1c.5/0 enp2s0 network RTL810xE PCI Express Fast Ethernet controller

Also because PXE booting did not work I grub booted the iso straight from the hard drive and if worked fine. not sure if that info is helpful or not

antonym commented 4 years ago

I wonder if we need to pass something like what dracut uses, BOOTIF=${netX/mac} ip=dhcp on the kernel command line so that it reuses the interface that it booted into PXE with. I'm not sure if casper has an equivalent.

PascalPirate75 commented 4 years ago

This is a SS of VirtualBox the highlighted area repeats 5 or so times and then stops trying on the bare metal.
Screenshot_2019-12-17_22-13-57

majorwolf commented 4 years ago

Looks like Casper does support a ip=dhcp flag.

https://ipxe.org/appnote/ubuntu_live iPXE Example:

!ipxe

set server_ip 192.168.100.1 set nfs_path /srv/nfs/ubuntu-14.04.1-desktop-amd64 kernel nfs://${server_ip}${nfs_path}/casper/vmlinuz.efi || read void initrd nfs://${server_ip}${nfs_path}/casper/initrd.lz || read void imgargs vmlinuz.efi initrd=initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=${server_ip}:${nfs_path} ip=dhcp splash quiet -- || read void boot || read void

thelamer commented 4 years ago

I need to go back to the custom generated initramfs and kernel combos and shift to the new logic used for Manjaro that decompresses existing initrds applies modifications and recompresses them. The stuff baked Into the live CDs embeds more drivers and this will bring us closer to the livecd experience. Stuff like the realtek drives missing in this case will be embedded in them then.

thelamer commented 4 years ago

@PascalPirate75 I went through and made some modifications to how we build our Ubuntu 18.04 Based kernel assets. Can you grab this build and put it on a USB or CD and give it a boot on your hardware? https://s3.amazonaws.com/dev.boot.netboot.xyz/2ed2f597a654f24bbc745b177451e2e5a0afe8a8/index.html

Please just test the 18.04 based stuff.

PascalPirate75 commented 4 years ago

I will, but can I put this one "netboot.xyz.efi" on my tftp server and try it?

thelamer commented 4 years ago

Depends on your setup, but if you are hosting your local menu files those will be used not the ones from this remote dev build.

PascalPirate75 commented 4 years ago

ok I usualy use etcher to put iso on usb but that is not working here what is the procedure to get this image on a usb?

thelamer commented 4 years ago

https://netboot.xyz/booting/usb/

PascalPirate75 commented 4 years ago

So I went ahead and put the "netboot.xyz.efi" on my tftp server it looked all over my network then grabbed the menu from "your?"amazon server and I tried 18.04 KDE and it loaded up perfect. before I had noticed the part about trying the 18.04 stuff I tried the 19.10 and it did not load. so whatever you did to the 18.04 works.. I did not try any other than the KDE. do you need them tested also and do you still want me to try the USB route?

thelamer commented 4 years ago

No as long as you are pulling those files that is fine.

This stuff will make it into 2.0.0 when released across all LiveCDs we can.

Gonna take a bit as all the current LiveCD assets need to be modified to publish their own built in initrds and kernels, but it will be worth it as it will be a near 1:1 experience with actually booting a real CD.

PascalPirate75 commented 4 years ago

Sounds great, if you need anymore testing let me know. I really appreciate the work you guys are doing.

antonym commented 4 years ago

Thanks for the testing and glad to hear it's useful to you. The menu code is pulled from AWS and all of the live boot assets are stored as Git Releases, which also are then pulled from AWS via Github links.

thelamer commented 4 years ago

All assets have been updated and tested inside of my environment, while not comprehensive I cannot see us making many more changes to these modified initrds.

I will be closing this keep an eye out for the next RC or full release.