Develop a cut down version of Linaro ALIP filesystem for use in example Linaro based distributions

Registered by Vinod Krishnamoni

Develop a cut down version of Linaro ALIP filesystem for use in example Linaro based distributions. This is not so much about size as resource consumption, which is a noticeable issue on models, especially at boot time. On our usual model target, we observe a best-case boot time of 150s with Linaro ALIP. With the much simpler filesystem we have been using in the past, boot time is about 50s.

Blueprint information

Status:
Complete
Approver:
Ricardo Salveti
Priority:
Essential
Drafter:
Bernie Ogden
Direction:
Approved
Assignee:
Ricardo Salveti
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 12.07
Started by
Ricardo Salveti
Completed by
Ricardo Salveti

Related branches

Sprints

Whiteboard

The main suggestion is to reduce the number of running daemons. Processes relating to hardware that may not be present, such as bluetooth, could be eliminated. Users who need them could install them by default.

One way to achieve this would be to create an ALIP-extras meta-package. Users would install a more streamlined base ALIP and then apt-get ALIP-extras to build up to today's ALIP, or possibly today's ALIP + more useful stuff.

Boot time is substantially better after first boot (25 vs 16 billions of instructions on VE-A9x4 model). Providing filesystem images already in a 'booted-once' state would be useful.

Other thoughts about reducing the load on the system appreciated.

[rsalveti, Apr 20, 2012] Would you like a reduced ALIP or should we just create another target/rootfs that would fit ideally on models? To properly work on size/cpu usage properly, we need to understand what needs to be pre-installed and part of the image. Do we need X? Want a browser? etc.

[bogden, Apr 21, 2012] I would prefer a single ALIP that works well on models and on real hardware - but if this is infeasible then a model-friendly rootfs would be acceptable. I'm more concerned about speed than size, so presence or absence of applications such as browsers is not so important. Entities that consume boot time or just stay up as part of the system (such as daemons) seem like a better target - I've got some bootchart output that I can forward. Unfortunately we do need X - need to be able to run all of our examples on the vanilla ALIP installation and a couple of those (gnometris, xaos) have X dependencies.

[anmar, Apr 23, 2012] I recommend we shy away from producing a different rootfs due to the overall load. Since ALIP was done for ARM, we should try and tailor it to their needs as much as possible. The community has nano and Ubuntu so ALIP is not really critical to them. If we can examine boot charts and decide on the low hanging fruit first, we can start targeting it for the 12.05 cycle. We can think about the harder to reach goals over the coming months.

[bogden, May 3, 2012] I've filled in some numbers on the instruction count target. Experiments suggest that we need to cut the instruction count by 90%! I doubt that this is possible but I've entered it as the target for now. Whatever progress we make will help.

[rsalveti, Jul 24, 2012] Image ported from XFCE to LXDE, as it's lighter and with less dependencies. I also removed recommends as default from the image, which should reduce the amount of daemons running as well. linaro-alip-extras created to cover the remaining and useful packages for LXDE. Image is faster on Panda, still to check and Vexpress, once it's deployed (in 2, 3 hours).

[rsalveti, Jul 24, 2012] Image https://snapshots.linaro.org/precise/images/alip/274/ is what we're targeting for this cycle, with the reduced ALIP, also with a few less daemons running during boot. Please let me know if anything is missing at the image, or any other package you'd like to see installed by default. Thanks!

== artifacts ==
 - Linaro boot chart (generated by Bernard at ARM) - http://people.linaro.org/~anmaroueja/LinaroPlatform/linaro-alip-oneiric-20120305-1.png and http://people.linaro.org/~anmaroueja/LinaroPlatform/linaro-alip-oneiric-20120425-1.png

Meta:
Headline: Linaro ALIP is now using LXDE as the default enviroment, with a reduced image for better performance at ARM targets, such as Vexpress and FastModels.
Acceptance: Alip updates in place at seeds and meta-packages, build generating the new images without any issue, and able to boot and use the image with at least one valid ARM target.

(?)

Work Items

Work items:
Reduce 'instructions to GUI' on VE-V9x4 RTSM from ~25 billion to <= 2.6 billion: POSTPONED
Deliver boot chart for Internal and Linaro ALIP builds: DONE
Create pre-built image based on ALIP for vexpress: DONE
Enable bootchart test running at the daily pre-built images: DONE
Investigate boot charts and determine the low hanging fruit: DONE
Reduce number of daemons: DONE
Create ALIP-extras: DONE

This blueprint contains Public information 
Everyone can see this information.