Thinstation / thinstation

A framework for making thin and light Linux based images for x86 based machines and thinclients.
https://www.thinstation.net/
777 stars 188 forks source link

Feature request - build parameter to override the "/boot/" prefix easily #756

Closed nneul closed 1 year ago

nneul commented 1 year ago

Currently, the build script and internals expect the files to always be in /boot/.

I'd like to see a build parameter to either:

A) Allow prepending a value ("/somethingelse/boot/...") or B) Change /boot/ to /somethingelse/

The use case is having multiple distinct builds easily served from the same network boot server, but at different prefix paths.

Thinstation commented 1 year ago

5k

nneul commented 1 year ago

@Thinstation I don't understand the response and closure? Are you saying it would be a $5000 feature? Are you open to a PR implementing that capability?

Thinstation commented 1 year ago

Sure, but most just send a PR when they have the talent to do so.

On Mon, Dec 5, 2022 at 6:38 AM Nathan Neulinger @.***> wrote:

@Thinstation https://github.com/Thinstation I don't understand the response and closure? Are you saying it would be a $5000 feature? Are you open to a PR implementing that capability?

— Reply to this email directly, view it on GitHub https://github.com/Thinstation/thinstation/issues/756#issuecomment-1337487730, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVW47RDJEZLKNTMI5KFBMTWLX465ANCNFSM6AAAAAASTUE7CY . You are receiving this because you were mentioned.Message ID: @.***>

nneul commented 1 year ago

757

Thinstation commented 1 year ago

Please also modify the grub section, as that is the current way of doing PXE, though that will really mess with ISO booting, but should not matter for people only doing PXE

On Mon, Dec 5, 2022 at 8:25 AM Nathan Neulinger @.***> wrote:

757 https://github.com/Thinstation/thinstation/pull/757

— Reply to this email directly, view it on GitHub https://github.com/Thinstation/thinstation/issues/756#issuecomment-1337661339, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVW47UW5RTAKSYBFRP36TTWLYJQDANCNFSM6AAAAAASTUE7CY . You are receiving this because you were mentioned.Message ID: @.***>

nneul commented 1 year ago

It seems weird to intentionally break the non-pxe ones though.... Would it be preferred to have the 'bootprefix' be specific to pxe in name? i.e. pxebootprefix ?

Thinstation commented 1 year ago

We would need to make a separate folder for grub pxe, but as it is the grub output satisfies all boot methods even EFI PXE. Your mod would break everything but PXE( when used ), and I guess that is okay.

On Mon, Dec 5, 2022 at 11:04 AM Nathan Neulinger @.***> wrote:

It seems weird to intentionally break the non-pxe ones though.... Would it be preferred to have the 'bootprefix' be specific to pxe in name? i.e. pxebootprefix ?

— Reply to this email directly, view it on GitHub https://github.com/Thinstation/thinstation/issues/756#issuecomment-1337982822, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVW47RHT23YRVHITGVMUQ3WLY4CPANCNFSM6AAAAAASTUE7CY . You are receiving this because you were mentioned.Message ID: @.***>

nneul commented 1 year ago

Do you have a pointer to example of using the grub hierarchy with pxe deployment? I can try that out, but thought the docs all refererred to using lpxelinux as the standard boot method for network. (What do you even point to as the bootloader served on the initial tftp response from dhcp server in that case?)

When I run this with all boot targets enabled (iso, syslinux, etc), I only see it modifying configs/files under the boot-images/pxe/ hierarchy, so not sure how it would affect anything non-pxe related.

with bootserver=1.1.1.1 and bootprefix="test/":


root@tsbuild:/local/thinstation/thinstation-test (bootprefix)$ grep -r test/boot *
build/boot-images/pxe/boot/lpxelinux/pxelinux.cfg/default:  KERNEL http://1.1.1.1/test/boot/vmlinuz
build/boot-images/pxe/boot/lpxelinux/pxelinux.cfg/default:  APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
build/boot-images/pxe/boot/pxelinux/pxelinux.cfg/default:   KERNEL ::/test/boot/vmlinuz
build/boot-images/pxe/boot/pxelinux/pxelinux.cfg/default:   APPEND initrd=::/test/boot/initrd  splash=verbose,theme:default  LM=3
build/boot-images/pxe/boot/efi64/pxelinux.cfg/default:  KERNEL http://1.1.1.1/test/boot/vmlinuz
build/boot-images/pxe/boot/efi64/pxelinux.cfg/default:  APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
build/boot-images/pxe/boot/efi64/syslinux.cfg:  KERNEL http://1.1.1.1/test/boot/vmlinuz
build/boot-images/pxe/boot/efi64/syslinux.cfg:  APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
build/boot-images/pxe/boot/efi32/pxelinux.cfg/default:  KERNEL http://1.1.1.1/test/boot/vmlinuz
build/boot-images/pxe/boot/efi32/pxelinux.cfg/default:  APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
build/boot-images/pxe/boot/efi32/syslinux.cfg:  KERNEL http://1.1.1.1/test/boot/vmlinuz
build/boot-images/pxe/boot/efi32/syslinux.cfg:  APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
ts/build/boot-images/pxe/boot/lpxelinux/pxelinux.cfg/default:   KERNEL http://1.1.1.1/test/boot/vmlinuz
ts/build/boot-images/pxe/boot/lpxelinux/pxelinux.cfg/default:   APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
ts/build/boot-images/pxe/boot/pxelinux/pxelinux.cfg/default:    KERNEL ::/test/boot/vmlinuz
ts/build/boot-images/pxe/boot/pxelinux/pxelinux.cfg/default:    APPEND initrd=::/test/boot/initrd  splash=verbose,theme:default  LM=3
ts/build/boot-images/pxe/boot/efi64/pxelinux.cfg/default:   KERNEL http://1.1.1.1/test/boot/vmlinuz
ts/build/boot-images/pxe/boot/efi64/pxelinux.cfg/default:   APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
ts/build/boot-images/pxe/boot/efi64/syslinux.cfg:   KERNEL http://1.1.1.1/test/boot/vmlinuz
ts/build/boot-images/pxe/boot/efi64/syslinux.cfg:   APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
ts/build/boot-images/pxe/boot/efi32/pxelinux.cfg/default:   KERNEL http://1.1.1.1/test/boot/vmlinuz
ts/build/boot-images/pxe/boot/efi32/pxelinux.cfg/default:   APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
ts/build/boot-images/pxe/boot/efi32/syslinux.cfg:   KERNEL http://1.1.1.1/test/boot/vmlinuz
ts/build/boot-images/pxe/boot/efi32/syslinux.cfg:   APPEND initrd=http://1.1.1.1/test/boot/initrd  splash=verbose,theme:default  LM=3
Thinstation commented 1 year ago

/boot/grub/pxeboot.img for BIOS/CSM /EFI/boot/bootx64.efi for 64 bit I guess I don't have EFI 32 bit setup......

nneul commented 1 year ago

Updated. Also added note to build.conf to call out the specific incompatibility with non-network grub boots.

Thinstation commented 1 year ago

Looks good. One little note, you need to make changes to /build/conf/default/build.conf.example as well, as this will overwrite /build/build.conf.example with every clean_chroot

On Mon, Dec 5, 2022 at 2:36 PM Nathan Neulinger @.***> wrote:

Updated. Also added note to build.conf to call out the specific incompatibility with non-network grub boots.

— Reply to this email directly, view it on GitHub https://github.com/Thinstation/thinstation/issues/756#issuecomment-1338274700, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVW47V7AZE7NVRI4QZUM23WLZU55ANCNFSM6AAAAAASTUE7CY . You are receiving this because you were mentioned.Message ID: @.***>

nneul commented 1 year ago

Done.