Author
Roberto A. Foglietta
eman.atteilgof.otrebor|em#eman.atteilgof.otrebor|em
http://www.roberto.foglietta.name/work
Abstract
In the short term:
- just play with buildroot
- integrate a minimalistic desktop environment for Asus eeepc 701/4G.
- prepare a slide show manager to deploy onto SD cards
However in the future could be changed in a internet media player box with these feature:
- Boot from SD card or USB pen drive because eeepc is a standard well diffused HW platform many people could find easy booting from an external device
- Support for some IR dongle key and software to learn IR remote control sequences in such a way people could configure the use of their eeepc media box and use their VCD/DVD remote controller (or buying a programmable low cost remote control).
- For other suggestions mail me at me@roberto.foglietta.name or search me on skype netwrok as robang74
Current Specification
- boot time from grub to X gui is 14 seconds
- foot print on disk is 14 Mb which contains:
-
- kernel for generic x86 + Asus eeepc 701 support + complete USB peripherals support
- Xvesa + basic fonts + keyboard translation layer + shared data and libs for graphical applications
-
Project overview
At this time there is any project plan because it is a hobby project I decided to start-up in order to keep me busy until I find a new job or contract. However this is the list of the actual phases that have been just done:
Start | Version | Effort | Mission | Achievements |
2008-10-15 | 0.0.1 | 10 days | get in touch with the buildroot environment | tried different configs and options |
2008-10-27 | 0.0.2 - 0.0.8 | 2 weeks | make buildroot environment and software suitable as soon as possible | some bugfix closed and some best effort patches |
2008-11-10 | 0.0.9 - 0.1 | 4 days @ 50% | documenting and repeating the building process until it became enough stable | reproducibility and documentation |
2008-11-14 | 0.1.1 | ^ | bug fixing | resolution 800x480 support for eeepc was broken because 915resolution |
2008-11-14 | 0.1.2 | ^ | bug fixing | X server resolution stays fix at 640x480 until /root/.xserverrc exists |
2008-11-10 | devel | 1 week | plan and verify technical requirements in order to split the project in two halves | ugles-initramfs verified, planned and partially accomplished |
2008-11-21 | initramfs 0.1.3 | 3 days | documenting and repeating the building process until it became enough stable | reproducibility and documentation |
2008-11-22 | - | 1 week | take a break waiting buildroot bug and patch tracking returns available | rest and looking for a new job |
2008-11-30 | 0.1.3 | 1 day | align 0.1.2 with changes in 0.1.3 | reproducibility, minor bugfixes and diversification from initramfs |
As you can see the integration sequence was:
- feasibility study
- bugfixing in best effort
- stabilize and document the result
The next step could be:
- return again at the stage 2 in order to found the best general solution of any issues still open and then redo the stage 3
- continuing the project development and splitting it in two project with well known purposes for each ones
In particular focusing on the basic part which belong to both project and managing to find a general solutions only for the related issues would save some time. In fact it is probable that some issues would be resolved, addressed or dropped during the future development phases. In few words: this project is in an early stage and because buildroot is in heavy development phase too, at this time, it is acceptable to have some best effort bugfix and proceed for further developments.
For example: including the gqview application increases the size of the iso9660 image from 49 to 122 Mb. This size is definitely too big to be reasonable managed with initrd. Once I will split the rootfs from the initrd image then including gqview would be feasible. Filesystem footprint and memory footprint reductions will be faced once the project would have been split in two parts:
- one frame buffer application which could run over many x86 hardware platform
- many applications which run over X server but tailored only for eeepc hardware
The first project kernel + initrd would be used in order to boot and mount the rootfs which contains the second project.
Development
Please refer to this page for future developments:
Documentation
Documentation about the last stable version 0.1.x are available following the link:
but the most of the documentation stays in this following page:
Screenshots
You can see some screenshots in this following page:
Download
The last stable version is 0.1.2 and it still in beta testing by users and you could download from here:
Installation
THESE COMMANDS COULD DAMAGE YOUR BOOT RECORD
PLEASE BE SURE TO TYPE IT ONTO EMULATED SYSTEM ONLY
Connect the USB pen or the SD flash storage device to your computer:
roberto@rafbook:~/gles/buildroot$ cat /proc/partitions
major minor #blocks name
3 0 58605120 hda
3 1 4088511 hda1
3 2 8249377 hda2
3 3 4088542 hda3
3 4 1 hda4
3 5 987966 hda5
3 6 11462346 hda6
3 7 29712186 hda7
8 0 7852031 sda <---- USB pen on my notebook
8 1 7849417 sda1
roberto@rafbook:~/gles/buildroot$ sudo qemu -boot d -cdrom binaries/ugles/ugles-0.1.iso -kernel-kqemu -hda /dev/sda
Go into ugles console and type:
# mount -o remount,rw /mnt/sda1
# cd /mnt/cdrom
# cp -f kernel initrd /mnt/sda1
# cp -rf /boot/grub /mnt/sda1
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
# umount -ar
# reboot
After reboot this time try to boot from hard disk which means your USB or SD storage device.