6.0 Changes
User visible
- u/dev (and classic /dev support) - no devfs anymore
- hotplug++
- fully modular kernel with early userspace to allow booting on any box
- created an own set of kernel preconfiguration not relying on the ever
changing in-kernel defconfigs allowing more predictable configuration
- revisited initrd / initramfs
- modular X.Org X11R7
- graphical network frontend
- Live CD target
- more flexible binary package creation - tar.bz2 as default, not mine/gem
- support for PowerPC64
- support for MIPS64
- more packages got fixed to honor libdirs, such as lib64
- target postprocessing, no need to build an additional target just for the installer
- thousands of package updates and hundreds of new packages
Developer visible
- C++ cross compiler and thus more to cross build
- boot code in architecture/*/boot (not e.g. in the bootdisk target)
- smarter target inheritance / code reuse
- fixed Config options to allow targets to enforce the CPU and optimizations
- package preselection code was moved to target/generic and improved to support
inclusion so they are based on eachother
- more automatic tweaks, such as libtool fixing for certain details such as lib64
- new rootfs overlay mechanism, used e.g. in the embedded or live target to overlay additional FS content
- automatic .zip extraction
- shared target code in target/share (equivalent to architecture/share)
- many flist (file list) wrapper library improvements, including performance,
correctness and buffer overflow fixes
- uname wrapper to ensure correct values (e.g. for 32bit builds on 64bit
hosts or crossbuilds) - including warning so those can be removed in the
long term
- improved output processing to always use the output plugin code and not special
case text output - aside revealing bugs it allows passing messages out of the chrooted
sandbox environment (e.g. warnings and notes)
- the .caches files got a cleanup and compatible format changes for future (depedency
specification) improvements and the build time is now stored relative to binutils,
being mostly identical amount architectures and compatible to LFS
- allow filtering patches, e.g. the linux packages uses this feature to skip version
change chunks to avoid conflicits
- new arch2uname and uname2arch, hasflag and as well as an atstage helper, the later
to avoid hardcoded stage numbers all over the packages and scripts
- automatic source download, no longer stalled builds due forgotten scripts/Dowload run
Known issues
6.0.2
6.0.0
- on PAM based systems login will issue a warning due to a configuration entry in the
default /etc/login.defs that is only recognized on systems without PAM:
configuration error - unknown item 'ULIMIT' (notify administrator)
The cure is as simple as commenting the ULIMIT line out in /etc/login.defs.
- on SPARC64 (and only on SPARC64) the gcc package misses two symlinks to vital
GCC support libraries. As a result complex program, such as all C++ programs,
will not start. This can be fixed by creating those symlinks manually:
ln -s /usr/lib64/gcc/sparc64-t2-linux-gnu/4.1.1/lib/libgcc_s.so /usr/lib/
ln -s /usr/lib64/gcc/sparc64-t2-linux-gnu/4.1.1/lib/libgcc_s.so /usr/lib/libgcc_s.so.1