Ugles Devel

To do list

4th developing week

  • Checking midori compilation, size and its functionalities: DONE
  • Removing local and run a test over functionalities and size: DONE
  • Checking Xorg modular Xvesa driver compilation, size and its functionalities: DONE
  • Planning and verifying technical requirements in order to split the project into ugles-initramfs and ugles-rootfs DONE

5th developing week

  • Addressed the bugfix copy issue TO VERIFY
  • Addressed the -fgnu89-inline issue in compiling toolchain DONE
  • Splitting the project into two pieces: the base should be stable ON GOING
  • Checking midori compilation without ICU support, size and its functionalities
  • Improving fbv: interlaced, border and loading first image

Midori compilation test

  • gperf should be installed in the host system (5724)
  • curl requires libtool installed into the host system (6064)
  • libsexy select and requires libxml2 (6074)
  • midori compile after patching buildroot (6104)
  • midori functionalities has not been tested yet.

Midori size

The midori and its dependences make the iso9660 grow up at least at 116 Mb.
This value was expected and in line with 120 Mb of gqview and 49 Mb without.

Local and wide characters support

  • Removing local and wchar support from uclibc and busybox reduce the size of these components from 1568 to 1028 Kb.
  • Removing local and wchar support from uclibc then X server does not compile any more because it requires that support.
  • Patching X server in order to drop the local and i18n support is possibile but blackbox does not compile any more, rxvt and twm should be patched too.

Reducing size dropping locale and wchar support is not a feasible way. Probably in many cases it does not make any sense too because, even the system would be deployed only in one country, the X applications would access contents from any world wide source. Removing local and wchar support make sense if X server is dropped as well.

Xorg modular Xvesa driver

  • Compiling Xorg modular Xvesa driver requires a patch (5514)
  • Using modular Xorg results in a moderate size growth. In fact the iso9660 size grown from 49 Mb to 54 Mb
  • Xorg binary is missed it should be installed and stripped from build_i586/staging_dir/usr/bin/Xorg
  • Xorg works in qemu but configuration and eeepc test is still to do

Splitting the project

Low half: ugles-initramfs

  • The buildroot environment has been updated to revision 24038 but Makefile reverted to 23999 (6324)
  • The buildroot environment has been updated to revision 24151
  • The fbv requires libungif which has been compiled without any dependence by X11 library
  • The local and wide characters support is active because useful for further expansion which supports X11
  • The support to libraries libgcc and libstdc++ has been disabled, they will be included in the toplevel rootfs
  • Preferring IMA compiles build option does not reduce the size of ugles-initramfs: dismissed
  • Preferring sstrace usage does not really reduce the size of ugles-initramfs: dismissed
  • The strace command has been removed from ugles-initramfs
  • Main makefile target ugles-initramfs has been created
  • The chattr, lsattr and fsck sometimes get overwritten by those from busybox which has been disabled
  • Module uvesafs could not built in the kernel but this is maintained in initramfs because necessary for asus eeepc support
  • Inserting into ugles-initramfs the strace, mkdosfs, e2fsprogs and usbmount packages increases uncompressed size to 5480 Kb
  • This project produce a unique file containing the kernel + embedded initramfs (a bootable iso9660 is generated too for testing purposes)

Top half: ugles

TODO list

  • Kernel should be prepared to boot and run over every i586 pc-like computer
  • All file date and time in cramfs are equal to UNIX epoch, so it is not good to be used in combination with unionfs.
  • The unionfs show the most recent version of each file, so some files in ugles rootfs are hidden by those from initramfs.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.