pieroproietti / penguins-eggs

On the road of Remastersys, Refracta, Systemback and father Knoppix!
https://penguins-eggs.net
387 stars 43 forks source link

live custom kernel parameters #255

Closed micush closed 1 year ago

micush commented 1 year ago

Hi,

I have made an appliance. When I turn it into an ISO using penguins-eggs, the grub customizations that I have done are removed from the live ISO. In particular, booting into the created live ISO I have this removed from /etc/default/grub that exists in the original appliance:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

Is it possible during the ISO creation process to keep these grub options in the live ISO?

pieroproietti commented 1 year ago

Hi Micush,

probably yes but we need to define same ways. Until now I define themes, under penguins-wardrobe, look in vendors/bliss/theme/livecd where I define 3 files:

We must define someing like CKP="net.ifnames=0 biosdevname=0" to add to ovary.ts line 719

 kernelParameters(): string {
    const distroId = this.settings.distro.distroId
    let kp = `boot=live components locales=${process.env.LANG}`
    if (this.familyId === 'archlinux') {
      const volid = Utils.getVolid(this.settings.remix.name)
      if (
        distroId === 'Arch' ||
        distroId === 'blendOS' ||
        distroId === 'Garuda' ||
        distroId === 'phyOS' ||
        distroId === 'EndeavourOS' ||
        distroId === 'RebornOS'
      ) {
        kp += ` archisobasedir=arch archisolabel=${volid}`
      } else if (distroId === 'ManjaroLinux') {
        kp += ` misobasedir=manjaro misolabel=${volid}`
      }
      kp += ` cow_spacesize=4G`
    }
    return kp
  }
pieroproietti commented 1 year ago

for example: we can define in /etc/penguins-eggs.d/eggs.yaml

# custom live kernel parameters
clkp="net.ifnames=0 biosdevname=0"

and add this to the previous function.


   return kp + clkp
pieroproietti commented 1 year ago

It's just an idea, open to suggestions.

micush commented 1 year ago

Hi. Thanks for the quick reply. Much appreciated. As you said, I don't think the technicalities of how it is done is too important, just that the ability to do so exists and that it can be easily modified during the ISO build process. I defer to your expertise on the definition and execution.

Thanks for such a wonderful product. It has saved me a lot of time of having to figuring out how to do a custom solution myself.

pieroproietti commented 1 year ago

Hi @micush

ability to do so exists and that it can be easily modified during the ISO build process

there is also the possibility to use flag --script using command produce, example:

sudo eggs produce --script

Eggs will not create the entire ISO, but just the structure for it and the scripts to create it and will end with this message.

eggs is finished!

You can find the scripts to build iso: egg-of-debian-bookworm-colibri_amd64_2023-07-22_0611.iso
in the ovarium: /home/eggs/ovarium/.
usage
cd /home/eggs/ovarium/
sudo ./bind
Make all yours modifications in the directories filesystem.squashfs and iso.
After when you are ready:
sudo ./mksquashfs
sudo ./mkisofs
sudo ./ubind
happy hacking!

Remember, on liveCD user = live/evolution
                    root = root/evolution

You can go to /home/eggs/ovarium/iso and edit boot/grub/grub.cfg and probably isolinux/isolinux.cfg to add your configuration.

When you have finished, You can create the ISO just using the commands indicated.

micush commented 1 year ago

perfetto. che ha funzionato alla grande. grazie per l'aiuto.