ghfields / rpooler

A guided installation script for zfs rpools
30 stars 6 forks source link

Look at making other distro's installers compatible with script #6

Open ghfields opened 6 years ago

ghfields commented 6 years ago

This may make the Ubiquity installer able to install other Ubuntu flavors. A little skeptical though because you would think Ubiquity would give you an interactive choice if it were that easy. https://help.ubuntu.com/lts/installation-guide/i386/apbs04.html (B.4.10. Package selection)

http://edge2.blogspot.com/2017/04/convert-ubuntu-desktop-to-server.html

lloydie commented 5 years ago

The determination of how to abstract the various parts of the install process is i assume the most critical issue. I certainly don't want to start hacking up the code in a manner that is inappropriate, that being said.

If the various components were put into functions this would provide a mechanism to support various features thru flags and still maintain code readability etc.

Looking thru the script however you don't seem to like functions :) i don't want to introduce a code style that you would be unhappy with.

I also think with the abstraction through functions all the various feature requests such as #15, #16, #25 would be a lot easier to implement.

ghfields commented 5 years ago

You're dead on. This grew from a simple pre/post ubiquity script. It was a very serialized process with many repeating strings. This has grown (or aspires) to be more than that. Functions would definitely help out.

I appreciate you looking under the hood.

lloydie commented 5 years ago

I appreciate the collaboration.

Awesome. Obviously keeping the script as contained as possible is the goal anything more would turn into a "full blown" installer. I don't believe either of us want that for this project.

The workflow in providing ZFS on root is very well defined.

  1. setup zfs modules "THANKS to that bs with CDDL and GPL"
  2. setup zfs root filesystem
  3. install system as per normal
  4. setup zfs boot environment / config grub
    • i'm aware of zfs boot environments but how they integrate or not with grub is still ?
  5. cleanup / make base snapshots etc.
  6. moving forward the ability to install / rollback / update the ROOTFS to X distribution would surely be desirable.

Ergo

function zfs_setup() function zfs_config() function sys_install() - simple jump to kickstart "standard" installer. function sys_config() function sys_cleanup()

I make a branch and get coding, please feel free to pick the crap out of my suggestions. The only goal ever is to become a better hacker personally :)

Cheers.

lloydie commented 5 years ago

Just quickly having a look at feature requests, if you are happy with the pull request. I think it goes without saying that all feature requests are relatively easy with the right abstractions.