Merging new image building code (treebuilder)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The stars have aligned! The time is upon us! Iä! Iä! Treebuilder Fhtagn!

I'm planning to merge treebuilder into (or perhaps "over") lorax's
"master" branch today or tomorrow. 

In the next days I'll throw together some Feature pages and/or a roadmap
on lorax's Trac instance so we have a clearer idea of what's changed and
what's still coming, but here's the New Features:

- Faster startup[1]!
  F15: 25s     F16 TC: 25s     Treebuilder F16: 15s
- Lower memory use[2]!
  F15: 541MB   F16 TC: 320MB   Treebuilder F16: 195MB
- Normal dracut initrd (21MB! No 'loader'[3]!)
- Netboot for PPC works again[4]!
- New, expanded template language makes customizing images easy[5]!

I've tried to make sure that any bugfixes that went into master got
pulled into treebuilder, but it's possible that I've missed some. So if
you've fixed bugs in lorax recently (or say the past 6 months) it'd
really help if you could check the treebuilder logs to see if the fix
got ported.

Please let me know if you've got any questions about (or problems with)
the plan[7]!

-w

[appendix: some details on the changes in treebuilder]

# Images are built like Live images. This means:
  * runtime is LiveOS/squashfs.img
  * initramfs is built by dracut
    - we do include some special dracut modules (e.g. livenet)
  * booting requires a correct root=live:XXX arg
    - written into the bootloader config by lorax
    - "root=live:/dev/sr0" will work in a pinch
    - with livenet, "root=live:http://.../squashfs.img"; is valid
      (pass "ip=XXX ..." to set up the network first)

# New, expanded template language
  - Nearly all the image building happens in the templates
  - New commands to help simplify/clarify the build process:
      install, mkdir, replace, append, hardlink, symlink,
      copy, copyif, move, moveif, remove, chmod, gconfset,
      installpkg, removepkg, removefrom, run_pkg_transaction,
      treeinfo, installkernel, installinitrd, runcmd
  - Lorax image build happens in 4 stages:
    install, postinstall, cleanup, and (per-arch) image build.
  - More code should move into the templates over time.

# Data/config files moved out of anaconda and into lorax
  - These should actually all move out of lorax and into a separate
    subpackage, but we need to rework some bits of lorax first.

[1] Time to "Starting Anaconda [...]" message in a KVM guest with 768MB
RAM. Host system is a MacBookPro7,1 running x86_64 F16. Results were the
same for three test runs of each version.
[2] Difference of "MemTotal" and "MemFree" lines in /proc/meminfo after
running "echo 3 > /proc/sys/vm/drop_caches; sleep 1", after anaconda has
started its GUI. Variance between test runs was negligible (~0.1%).
[3] 'loader' is still in the anaconda runtime, but we're working on
replacing it.
[4] netbooting with treebuilder images currently requires different boot
arguments than previous versions of Fedora/RHEL
[5] Well, OK, this is a matter of opinion; some people think shell is
simple and clear enough for any task. (Those people are wrong[5a].)
[5a] This is also a matter of opinion, but if you really want to know
more about What I Think Is Wrong With Bash I'd be happy to explain my
position - using colorful and inventive curse words and possibly obscene
hand gestures - after you buy me a beer.
[7] Special note for future readers: this would have been the time to
bring up the problem(s) you're now having with the plan. Y'know, for
future reference. Which I guess is just "reference" for you, since
you're in the future. How's it going, by the way? Do you guys have
jetpacks yet or what? 

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list



[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux