Architectural changes - The Great Refactoring (Factor and merge out common code): # uClibc (cross/native/static toolchains) # binutils/gcc (cross/native/static toolchains) - ccwrap (cross/native/static toolchains) - Wrap existing toolchain # busybox/toybox (hostutils/rootfs) - distcc (hostutils/rootfs) - Improve individual tarball package granularity - binutils/gcc essentially one package, useless without ccwrap. - Also useless without uClibc, but uClibc useful on its own? - *.a files in with compiler. *.so files separately? - native compiler needs make. Cross compiler doesn't. - Make setupfor/cleanup tarballs, then second pass to make better ones - Reorganize downloads directory - and snapshots - Prebuilt binaries - static cross compiler: ship only that but with right directory name - test static native compiler - start with static busybox only - add uClibc tarball - add native compiler tarball - build dropbear - ccwrap existing cross compiler to make root-filesystem.sh orthogonal - Break out ccwrap.sh in great refactoring? - Add hdc -> /mnt functionality - have sbin/init.sh call /mnt/init if it exists instead of shell prompt - Simplify root-filesystem.sh logic - directories (yes or no) - uClibc: static or dynamic? - static system with no toolchain, don't need uClibc installed - Just build against existing toolchain libc, unwrapped - Otherwise add ccwrap to existing cross comp to force uClibc usage - native toolchain (plus make, distcc) - Currently separate build stage. Packaging? - busybox (yes/no, static/dynamic) - Upgrade busybox ash to eliminate need for bash Bugfixes and tweaks - fix distcc (accidentally broken in The Great Refactoring) - uClibc should install getent? - Merge/test my implementation? - Add armv4tl-eabi (arm920t, openmoko) - rename armv4l to armv4l-oabi (all other arm targets eabi) - add /etc/passwd with root line so dropbear works Check QEMU targets for 1.0 release: - current: arm, mips, mipsel, sh4, x86_64, x86 - broken: armv4eb, m68k, sparc, ppc - pending: cris, microblaze, ppcemb, sh4eb - 64bit: mips64, mips64el, ppc64, sparc64 - theoretical: alpha, s390 - How much is really needed for a 1.0 release? powerpc-440fp should use 64k pages. - actual hardware does, so emulator should too m68k - Try other qemu tree - aranym? s390 - hercules - armv7 (cortex-A8/beagleboard) - gcc 4.4 or 4.2 patch? - xylinx microblaze patch(es) - Gentoo From Scratch gentoo script cleanups (bash, tar, patch) work towards a full stage 1 (list from schlotzky's) Package up gentoo stage 1 image (tarball and boot script). portage removal script remove unnecessary packages remove portage - Fedora from scratch - Download koji - Ask on #fedora-admin # Teach ccwrap to use libgcc_eh.a when available. - Export ccwrap for use by uClibc upstream. gigabit ethernet - test all targets with this, migrate the ones that can use it Try uClibc-git - new pthreads (not old) - nptl where available Improved nightly cron job - web page with status Push patches upstream - linux - dnsdomainname patch - perl removal patches - remove remaining perl from kernel build Documentation - Post slides from OLF talk - Convert keynote to html slideshow - MP3 recording - Post pricing details for 1-day and 2-day training sessions - Redo documentation.html (split up?) Benchmark - How much faster is distcc? - ./configure with static binaries? - On each platform: - loop 10 million times - launch 1000 instances of "true" - static binaries ---------- # build/sources should be build/packages # functions.sh uses $TOP/sources when it should be using $SOURCES. #use squashfs as hda by default? # Boot from squashfs, built as normal user, with stable version. toybox: - add fuzz factor support to patch