Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AlpineLinux Support #30

Closed
zQueal opened this issue Jan 13, 2016 · 26 comments
Closed

AlpineLinux Support #30

zQueal opened this issue Jan 13, 2016 · 26 comments

Comments

@zQueal
Copy link

zQueal commented Jan 13, 2016

For anyone who doesn't know, Alpine Linux is tiny. The standard vanilla iso is 81MB with the extended iso a measly 360MB installed.

It would make a really great addition to netboot. They offer a public download repository here.

@antonym
Copy link
Member

antonym commented Jan 14, 2016

I gave this a try tonight but unfortunately Alpine Linux ISOs do not play nicely with memdisk which is what I need in order to boot. You can read more about the issue here and a potential way to fix it. It might be worth opening the ticket with them and seeing in they are willing to implement the above item.

The way I usually validate an ISO works or not is pulling up the iPXE command shell and running:

kernel http://boot.netboot.xyz/memdisk iso raw
initrd http://URL.to/ISO
boot

If it works, it'll usually start the install or load up all of the way. If it fails, it'll usually fail early after being unable to load the rootfs image.

The ISOs can be cracked open and hosted somewhere to boot, but that introduces a lot of other issues. (tampering, bandwidth, space, etc). I'd much rather pull from the provider of the operating system or a trusted mirror if at all possible and leave netboot.xyz as a router to those operating systems.

@antonym
Copy link
Member

antonym commented Jan 14, 2016

Looks like some others have tried as well, might be a good place to start. http://lists.alpinelinux.org/alpine-devel/3292.html

@antonym antonym added linux and removed enhancement labels Jan 14, 2016
@zQueal
Copy link
Author

zQueal commented Jan 14, 2016

I've been trying to get some involvement via the Alpine official IRC, but there's been no movement in more than 4 hours despite over 300 connected clients. Not entirely sure this is going to happen. It's far outside my skillset.

@andyshinn
Copy link

Alpine Linux also has a bug tracker at https://bugs.alpinelinux.org/ and a couple mailing lists I would try as well: http://lists.alpinelinux.org/.

@zQueal
Copy link
Author

zQueal commented Jan 20, 2016

Andy, thanks!

I've opened a thread on their internal forums.

@antonym
Copy link
Member

antonym commented Jan 20, 2016

Thanks, guess we just wait and see. If we can get a working image, it'll be really easy to get it going.

@bfritz
Copy link

bfritz commented Jan 20, 2016

@zQueal @antonym If I read a recent IRC chat correctly, @ncopa has some experimental changes to enable pxe boot that might land in Alpine Linux 3.3.2. They may not be sufficient to pxe boot an ISO though.

@zQueal
Copy link
Author

zQueal commented Jan 20, 2016

@bfritz Hey, that's great news! At least it's a step in the right direction! Thanks for the update.

@Ttech
Copy link

Ttech commented Feb 18, 2016

http://wiki.alpinelinux.org/wiki/PXE_boot is the instructions on how to boot it any reason this wouldn't work?

@zQueal zQueal closed this as completed Nov 6, 2016
@antonym
Copy link
Member

antonym commented Nov 7, 2016

Reopening because I would like to see Alpine support at some point, I may poke around on it if I get some time.

@antonym antonym reopened this Nov 7, 2016
@IxDay
Copy link

IxDay commented Feb 1, 2017

Ok managed to found a solution to create a bootable image for alpine through IPXE, here are the steps:

  • clone the alpine-iso git repo
  • cd to the directory and create the following two files:
    • alpine-pxe.packages which will be empty (those packages are installed in the iso not in the initrd)
    • alpine-pxe.conf.mk with the following content:
      ALPINE_NAME   := alpine-pxe
      KERNEL_FLAVOR := grsec
      INITFS_FEATURES := ata base bootchart squashfs ext4 usb virtio network dhcp
      MODLOOP_EXTRA :=
      
      some options may not be needed, I did not had the time to check this correctly, virtio and network are needed according to the wiki
  • create the image following the instructions here and pass your new profile: make PROFILE=alpine-pxe
  • start a simple http server in isotmp.alpine-pxe/isofs/boot/ the ipxe boot will need the two following files:
    • initramfs-grsec
    • vmlinuz-grsec
  • create your ipxe script with an adaptation of the following to your own url
    #!ipxe
    
    dhcp
    
    set base-url http://192.168.122.0:5050
    set kernel-params ip=dhcp modules=loop,squashfs,usb-storage nomodeset
    
    kernel ${base-url}/vmlinuz-grsec ${kernel-params}
    initrd ${base-url}/initramfs-grsec
    
    boot
    
    Here again I am not sure that all the options are needed, still have to perform some tests.
  • start your network boot!

@Ttech
Copy link

Ttech commented May 10, 2017

I'd love to see this added in as well since Alpine is such a easy to use lightweight distro.

@jjzazuet
Copy link

Hi. Chiming in to see if Alpine is now offering kernel+initrd bundles, or if we still need to follow @IxDay 's instructions. Thanks!

@antonym
Copy link
Member

antonym commented Nov 30, 2017

I hadn't heard any updates, but I'd still be all for it if Alpine Linux would provide a hosted version of those files so they could be retrieved. I could spin and host them myself, but generally would prefer if the provider provided the files uncompressed on their mirror so that they could be loaded by anyone directly as it's generally more trustworthy. I'd also like to start getting away from ISOs where possible as the methods to load them in iPXE just aren't ideal. If anyone knows any Alpine Linux maintainers, please ping them to this thread.

@Red5d
Copy link

Red5d commented Dec 17, 2017

There's now a PXE booting guide for Alpine which mentions using gpxe scripts and booting over HTTP: https://wiki.alpinelinux.org/wiki/PXE_boot

@antonym
Copy link
Member

antonym commented Dec 17, 2017

Yeah, the issue of adding support isn't about how to do it but we need to have the files hosted as part of the release so the ISO doesn't have to be extracted and hosted at another source. It would be ideal if the files that worked for PXE support would be hosted by the projects directly so that they could be pulled from the primary and trusted source.

If those are present somewhere already on an official Alpine Linux mirror, please point me to them and I can get support added.

@dunielpls
Copy link

I run mirrors and I am on Alpine's infrastructure team. I will get back to you shortly @antonym

@antonym
Copy link
Member

antonym commented Mar 16, 2018

Merged in some experimental Alpine Linux support, hopefully we can get an official build at some point but this should be a good starting point to play around with and use.

@nekocentral
Copy link

As of today Alpine linux 3.8 has a official Netboot image, do you think it can be implemented as the main alpine image?

@antonym
Copy link
Member

antonym commented Jun 26, 2018

That's great news but unfortunately, their release is tar.gz up so it's not something iPXE can pull directly from their servers and use. Do they have the releases extracted somewhere and hosted on their official servers? I don't typically host the bits myself and rely on the distribution to provide a place to retrieve from their official mirrors.

@nekocentral
Copy link

I know that a mate of he hosts a mirror of alpine, i can ask him if he can do an extracted folder of the tar

@antonym
Copy link
Member

antonym commented Jun 26, 2018

The expermental images are currently hosted by one of the developers but I'd like to see if the project would be willing to provide those images extracted for use by anyone in official capacity without having to download the tarball directly.

@nekocentral
Copy link

Looks like an extracted package is live on the actaul CDN's
http://dl-cdn.alpinelinux.org/alpine/v3.8/releases/x86_64/netboot/

@antonym
Copy link
Member

antonym commented Jun 26, 2018

Perfect, we can use that then, thanks for the heads up!

@nekocentral
Copy link

No problem

@antonym
Copy link
Member

antonym commented Jun 30, 2018

Alpine Linux updated to netboot images, dropped experimental tag and added signature checking:

#246

Please kick the tires and thanks everyone for getting us this far!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants