Develop a cut down version of Linaro ALIP filesystem for use in example Linaro based distributions
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:
- 12.07
- Started by
- Ricardo Salveti
- Completed by
- Ricardo Salveti
Related branches
Related bugs
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:/
== artifacts ==
- Linaro boot chart (generated by Bernard at ARM) - http://
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