live-bootstrap icon indicating copy to clipboard operation
live-bootstrap copied to clipboard

ROADMAP 1.0 Release

Open fosslinux opened this issue 1 year ago • 7 comments

We are now in a place where a 1.0 release is in the near future. The primary goal for the 1.0 release is:

To provide a complete end-to-end software bootstrap from hex0 + kaem-minimal + builder-hex0 to a modern Linux toolchain and associated utilities; for the X86 (32-bit) architecture that works on i686 processors; that is comprehensible and documented sufficiently to be used by someone who does not know bootstrapping; and has a reasonably logical UX.

Roadmap:

  • [x] 1.0 branch: when 1.0 is branched, no changes that don't clearly add to this above goal will not be added to that branch.
  • [x] detailed testing: test on as wide of a variety of systems as possible.
  • [ ] 1.0 RC: final changes and signifying release
  • [ ] 1.0 Release: last RC that has no changes required becomes release

Changes before 1.0:

  • [x] Kernel stuff: 1.0 will be using Fiwix in some fashion.
    • [x] kexec Fiwix -> Linux support #295 ~~- [ ] Running sysa on a disk. (@rick-masters are there any blockers within Fiwix to an impl of this on the live-bootstrap side? If yes, is this achievable for 1.0?)~~
  • [x] General updates
    • I don't wish to go too crazy with this - just toolchain stuff mainly.
    • [x] GCC 13 (nearly done) #293
    • [x] Binutils 2.41
    • [x] musl 1.2.4 #301
    • [x] findutils should be built with gcc if possible.
    • [x] no pre-musl binaries in final system
      • [x] gzip #369
    • [ ] nss update #465 (there is 3.100 now)
    • [x] #451
  • [ ] Docs (@fosslinux)
    • [x] #480
      • [x] #461
      • Note: This will need to be updated again right before release.
    • [ ] Update README.md to reflect initial goal completion and current state of project
    • [x] Provide more detailed instructions on how to prepare and run the project, most notably without rootfs.py
    • [ ] Describe the options available in bootstrap.cfg, mentioning what options are required during a Pythonless bootstrap
    • [ ] Describe how to "latch on" to the end of live-bootstrap (eg, freedesktop-sdk)
      • see also: #460
  • [ ] UX (@fosslinux)
    • [x] Make as many options as possible tunable from within live-bootstrap if not set in bootstrap.cfg
      • [x] particularly, disk selection
    • [ ] Provide option for not all command output to be displayed on-screen
  • [x] Bugfixes
    • [x] #291
    • [x] #203
    • [x] #186
    • [x] #306
      • [x] mes 0.26 (with double compile fix)
      • [x] mes 0.26.1
    • [x] #394
  • [x] Licensing issues
    • [x] #456

Things that are explicitly out of scope:

  • any kind of architectural expansion
  • solving the "how to get initial files onto a disk" problem
  • support for any less than 4GB of RAM
  • bootloader

Anything else to add to above please comment.

fosslinux avatar May 08 '23 08:05 fosslinux

  * [ ]  Running sysa on a disk. (@rick-masters are there any blockers within Fiwix to an impl of this on the live-

Hmm, I'm not fully convinced that we should add sysa on disk as a hard requirement... Right now I think we have an interesting use-case of preparing builder-hex0 bootable image on portable USB stick and using it as "installer".

If we add this requirement, then it won't be possible to run live-bootstrap on a laptop with just NVMe drive.

stikonas avatar May 17 '23 19:05 stikonas

Hmm, ok that is a compelling point. I agree at least for that case. Let's drop on-disk sysa for 1.0.

fosslinux avatar May 21 '23 01:05 fosslinux

@fosslinux Hmm, in addition to toolchain updates, it might also make sense to update crypto packages, in particular nss (I think we use it for certificate bundle) and if possible OpenSSL 3 (though this might be harder due to python stuff).

stikonas avatar Jun 12 '23 21:06 stikonas

If OpenSSL 3 is easy sure. I suspect that it might not be simple, but we can give it a try.

100% for nss.

fosslinux avatar Jun 13 '23 03:06 fosslinux

Adding #306 to blockers.

stikonas avatar Jun 22 '23 23:06 stikonas

FWIW with regards to docs, freedesktop-sdk largely does https://gitlab.com/freedesktop-sdk/freedesktop-sdk-binary-seed/-/blob/main/files/live-bootstrap/after.sh?ref_type=heads to unpack package contents into a dest dir which is then collected and used for building further things.

nanonyme avatar Nov 08 '23 15:11 nanonyme

I have (tentatively) created a 1.0 branch. Happy for almost anything to be merged into there at the moment, except for any large architectural changes.

fosslinux avatar May 29 '24 08:05 fosslinux