Embedded Linux BOF Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair Ottawa Linux Symposium – July 23, 2008
Outline <ul><li>Big News! </li></ul><ul><li>Kernel Version Highlights </li></ul><ul><li>Technology Watch List </li></ul><u...
BIG Community News!! <ul><li>linux-embedded mailing list has been created!! </li></ul><ul><li>There are now “Embedded Linu...
linux-embedded mailing list <ul><li>Is now the main list for kernel-related embedded patches and discussion </li></ul><ul>...
New embedded Linux maintainers <ul><li>Who: </li></ul><ul><ul><li>David Woodhouse – MTD/JFFS2/OLPC guy </li></ul></ul><ul>...
Kernel Highlights <ul><li>Previous kernel highlights </li></ul><ul><li>2.6.26 highlights </li></ul><ul><li>Coming in 2.6.2...
2.6.24 Kernel Highlights <ul><li>Kernel markers </li></ul><ul><li>Loadable Security Modules framework was removed </li></u...
Markers <ul><li>Infrastructure in kernel for static instrumentation </li></ul><ul><ul><li>Kprobes are for dynamic instrume...
2.6.25 Kernel Highlights <ul><li>Kpagemap </li></ul><ul><ul><li>Matt Mackall's patches for fine-grained memory instrumenta...
Kpagemap <ul><li>Can show details about every allocated (and virtual) page on the system </li></ul><ul><li>Introduces PSS ...
2.6.26 kernel highlights <ul><li>KGDB </li></ul><ul><ul><li>Finally have a mainlined in-kernel debugger </li></ul></ul><ul...
Coming in 2.6.27 <ul><li>FTrace? </li></ul><ul><li>Anyone…, anyone…? </li></ul>
Technology Review <ul><li>Bootup Time </li></ul><ul><li>System Size </li></ul><ul><li>File Systems </li></ul><ul><li>Traci...
Bootup Time <ul><li>Async initlevels </li></ul><ul><ul><li>New patch by Arjan van de Ven </li></ul></ul><ul><ul><li>Puts s...
Size <ul><li>Linux-tiny </li></ul><ul><ul><li>Recently got CONSOLE_TRANSLATIONS mainlined </li></ul></ul><ul><ul><li>Next ...
Function Sections <ul><li>&quot;Function sections&quot; is a technique for reducing the size of the kernel image </li></ul...
File systems <ul><li>SquashFS </li></ul><ul><li>AXFS </li></ul><ul><li>LogFS </li></ul><ul><li>UBIFS </li></ul>
SquashFS <ul><li>Compressed read-only file system, with smaller compression than CramFS </li></ul><ul><li>Latest release i...
AXFS <ul><li>Advanced XIP file system </li></ul><ul><li>Can profile applications, and only use XIP on some blocks </li></u...
UBIFS <ul><li>File system build on UBI (flash block) instead of block layer </li></ul><ul><li>Nokia recently (April) submi...
LogFS <ul><li>New flash filesystem by  Jörn Engel  to solve scalability problems with JFFS2 </li></ul><ul><li>LogFS keeps ...
Tracing <ul><li>FTrace </li></ul><ul><li>LTTng (and Markers) </li></ul><ul><li>SystemTap </li></ul><ul><li>Printk-time arc...
Function Trace (ftrace) <ul><li>Isolation and generalization of latency-trace system from RT-preempt patch </li></ul><ul><...
Other Tracers <ul><li>LTTng Status </li></ul><ul><ul><li>Markers infrastructure mainlined in 2.6.24 </li></ul></ul><ul><ul...
Security <ul><li>LSM framework removed from kernel in 2.6.24 </li></ul><ul><li>Has some impact on non-mainlined security s...
Embedded SELinux <ul><li>There has been much progress recently to support SELinux in the embedded space  </li></ul><ul><li...
Power Management <ul><li>Powertop </li></ul><ul><ul><li>Shows timers and power state durations </li></ul></ul><ul><ul><ul>...
RealTime <ul><li>RT-preempt </li></ul><ul><ul><li>Latency tracer is being pushed to mainline </li></ul></ul><ul><ul><li>Re...
Middleware <ul><li>DLNA </li></ul><ul><ul><li>CELF hosted the first ever open source DLNA summit, in Linz Austria </li></u...
Mobile Phone News <ul><li>Open Handset Alliance and Android platform </li></ul><ul><ul><li>Still waiting for deployment in...
Status Resources <ul><li>LinuxDevices.com </li></ul><ul><ul><li>http://www.linuxdevices.com/ </li></ul></ul><ul><li>LWN.ne...
Technology Watch List <ul><li>CE Linux Forum maintains a list of technologies that we are &quot;watching&quot; </li></ul><...
Open Discussion <ul><li>Topics? </li></ul><ul><ul><li>Taking control of the kernel from desktop and enterprise guys </li><...
Thanks! You’re all invited to come to the CELF Embedded Developer BOF At the Westin Hotel Friday, July 25, 7:00 pm There w...
Upcoming SlideShare
Loading in …5
×

Embedded Linux BOF Presentation

954 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
954
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Embedded Linux BOF Presentation

  1. 1. Embedded Linux BOF Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair Ottawa Linux Symposium – July 23, 2008
  2. 2. Outline <ul><li>Big News! </li></ul><ul><li>Kernel Version Highlights </li></ul><ul><li>Technology Watch List </li></ul><ul><li>Other news </li></ul><ul><li>Status Resources </li></ul><ul><li>Discussion </li></ul>
  3. 3. BIG Community News!! <ul><li>linux-embedded mailing list has been created!! </li></ul><ul><li>There are now “Embedded Linux” maintainers!! </li></ul><ul><li>Based on Andrew Morton talk at Embedded Linux Conference, and succeeding discussion </li></ul><ul><ul><li>Also, Andrew worked behind-the-scenes to help make these things happen </li></ul></ul>
  4. 4. linux-embedded mailing list <ul><li>Is now the main list for kernel-related embedded patches and discussion </li></ul><ul><ul><li>Lower traffic than LKML – should be much easier to watch </li></ul></ul><ul><li>Technical discussions about the kernel should be moved here from linux-tiny, celinux-dev, and others </li></ul><ul><li>How to subscribe and access archives: </li></ul><ul><ul><li>http://vger.kernel.org/vger-lists.html#linux-embedded </li></ul></ul><ul><li>You should subscribe! </li></ul>
  5. 5. New embedded Linux maintainers <ul><li>Who: </li></ul><ul><ul><li>David Woodhouse – MTD/JFFS2/OLPC guy </li></ul></ul><ul><ul><li>Paul Gortmaker – longtime kernel developer </li></ul></ul><ul><li>What: </li></ul><ul><ul><li>Keep track of patches and technology development related to embedded </li></ul></ul><ul><ul><li>Handle stuff that has no other home </li></ul></ul><ul><ul><li>See LWN.net interview of maintainers at: </li></ul></ul><ul><ul><ul><li>http://lwn.net/Articles/284767/ </li></ul></ul></ul>
  6. 6. Kernel Highlights <ul><li>Previous kernel highlights </li></ul><ul><li>2.6.26 highlights </li></ul><ul><li>Coming in 2.6.27 </li></ul><ul><li>Interesting patches (Tim’s list) </li></ul>
  7. 7. 2.6.24 Kernel Highlights <ul><li>Kernel markers </li></ul><ul><li>Loadable Security Modules framework was removed </li></ul><ul><li>PM Quality of Service (QOS) </li></ul>
  8. 8. Markers <ul><li>Infrastructure in kernel for static instrumentation </li></ul><ul><ul><li>Kprobes are for dynamic instrumentation </li></ul></ul><ul><ul><li>Used by SystemTap and Linux Trace Toolkit(ng) </li></ul></ul><ul><li>Goal is very low overhead when not in use </li></ul><ul><ul><li>One compare, using immediate value </li></ul></ul><ul><ul><ul><li>No memory access or cache/TLB usage issues </li></ul></ul></ul><ul><ul><li>There's a new system to replace immediate values in kernel code, while the kernel is running!! </li></ul></ul><ul><li>New “tracepoint” feature (see Matthieu Desnoyer’s presentation – Friday 10:00) </li></ul>
  9. 9. 2.6.25 Kernel Highlights <ul><li>Kpagemap </li></ul><ul><ul><li>Matt Mackall's patches for fine-grained memory instrumentation (more on next slide) </li></ul></ul><ul><li>Latency measurement API </li></ul><ul><ul><li>Support for LatencyTop </li></ul></ul><ul><ul><ul><li>See http://lwn.net/Articles/266153 </li></ul></ul></ul><ul><li>SMACK - simple mandatory access control </li></ul><ul><ul><li>New lightweight MAC system for kernel, by Casey Schaufler </li></ul></ul><ul><ul><li>Go to OLS Session Saturday at 10:00 for more info (“SMACK in embedded computing”) </li></ul></ul>
  10. 10. Kpagemap <ul><li>Can show details about every allocated (and virtual) page on the system </li></ul><ul><li>Introduces PSS and USS size metrics </li></ul><ul><ul><li>PSS = Proportional Set Size </li></ul></ul><ul><ul><li>USS = Unique Set Size </li></ul></ul><ul><li>Resources: </li></ul><ul><ul><li>ELC presentation </li></ul></ul><ul><ul><ul><li>http://selenic.com/repo/pagemap/raw-file/tip/memory-profiling.html </li></ul></ul></ul><ul><ul><li>LWN.net article: </li></ul></ul><ul><ul><ul><li>http://lwn.net/Articles/230975/ </li></ul></ul></ul><ul><ul><li>Visualization tools: </li></ul></ul><ul><ul><ul><li>http://selenic.com/repo/pagemap </li></ul></ul></ul>
  11. 11. 2.6.26 kernel highlights <ul><li>KGDB </li></ul><ul><ul><li>Finally have a mainlined in-kernel debugger </li></ul></ul><ul><li>Some clock framework, clock driver and CPUfreq stuff on ARM </li></ul>
  12. 12. Coming in 2.6.27 <ul><li>FTrace? </li></ul><ul><li>Anyone…, anyone…? </li></ul>
  13. 13. Technology Review <ul><li>Bootup Time </li></ul><ul><li>System Size </li></ul><ul><li>File Systems </li></ul><ul><li>Tracing </li></ul><ul><li>Security </li></ul><ul><li>Power Management </li></ul><ul><li>Real-Time </li></ul><ul><li>Middleware </li></ul>
  14. 14. Bootup Time <ul><li>Async initlevels </li></ul><ul><ul><li>New patch by Arjan van de Ven </li></ul></ul><ul><ul><li>Puts some driver initialization in parallel with other boot tasks </li></ul></ul><ul><ul><li>See http://lkml.org/lkml/2008/7/18/488 </li></ul></ul>
  15. 15. Size <ul><li>Linux-tiny </li></ul><ul><ul><li>Recently got CONSOLE_TRANSLATIONS mainlined </li></ul></ul><ul><ul><li>Next logical patches are ETHTOOL and IGMP </li></ul></ul><ul><li>Bloatwatch 2.0 </li></ul><ul><ul><li>At ELC 2008 (April), Matt Mackall released Bloatwatch 2.0 </li></ul></ul><ul><ul><ul><li>Tool to show kernel size regression (and to investigate size problems) </li></ul></ul></ul><ul><ul><li>See http://www.selenic.com/bloatwatch/ </li></ul></ul><ul><li>Function Sections (see next page) </li></ul>
  16. 16. Function Sections <ul><li>&quot;Function sections&quot; is a technique for reducing the size of the kernel image </li></ul><ul><li>Consists of patches by Denys Vlasenko to support “ gcc -ffunction-sections -fdata-sections” </li></ul><ul><ul><li>Places each function into it's own linker section </li></ul></ul><ul><ul><li>This allows the linker to do better dead code removal (using “ld –gc-sections”) </li></ul></ul><ul><li>Denys reported that usage of this technique got him about a 10% reduction in kernel size (in some conditions) </li></ul>
  17. 17. File systems <ul><li>SquashFS </li></ul><ul><li>AXFS </li></ul><ul><li>LogFS </li></ul><ul><li>UBIFS </li></ul>
  18. 18. SquashFS <ul><li>Compressed read-only file system, with smaller compression than CramFS </li></ul><ul><li>Latest release is 3.3, released Feb 5, 2008 </li></ul><ul><li>Has been a flurry of recent activity, leading up to Squashfs v. 4.0 </li></ul><ul><li>Phillip Lougher is working to mainline it </li></ul><ul><ul><li>CELF is working to fund this effort </li></ul></ul>
  19. 19. AXFS <ul><li>Advanced XIP file system </li></ul><ul><li>Can profile applications, and only use XIP on some blocks </li></ul><ul><ul><li>Allows for fine-grained control over how much flash vs. RAM is used for an application set </li></ul></ul><ul><li>Go to OLS Session Friday at 11:00 am for the latest info. </li></ul>
  20. 20. UBIFS <ul><li>File system build on UBI (flash block) instead of block layer </li></ul><ul><li>Nokia recently (April) submitted v 3.0 for mainline inclusion </li></ul><ul><ul><li>http://lwn.net/Articles/276025 </li></ul></ul><ul><li>http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf </li></ul>
  21. 21. LogFS <ul><li>New flash filesystem by Jörn Engel to solve scalability problems with JFFS2 </li></ul><ul><li>LogFS keeps filesystem meta-data on flash instead of in memory </li></ul><ul><ul><li>Does not need to read lots of meta-data on mount </li></ul></ul><ul><ul><li>This reduces mount time (and system boot time) </li></ul></ul><ul><ul><li>But, it has some outstanding problems </li></ul></ul>
  22. 22. Tracing <ul><li>FTrace </li></ul><ul><li>LTTng (and Markers) </li></ul><ul><li>SystemTap </li></ul><ul><li>Printk-time arch support </li></ul>
  23. 23. Function Trace (ftrace) <ul><li>Isolation and generalization of latency-trace system from RT-preempt patch </li></ul><ul><ul><li>Ingo Molnar and Steven Rostedt are primary developers </li></ul></ul><ul><li>Compiler instrumentation of kernel functions (gcc -mcount) </li></ul><ul><li>Support for multiple tracers </li></ul><ul><li>V16 submitted in mid-June </li></ul><ul><ul><li>Already in linux-tip </li></ul></ul><ul><li>I should put KFT on top of FTrace </li></ul>
  24. 24. Other Tracers <ul><li>LTTng Status </li></ul><ul><ul><li>Markers infrastructure mainlined in 2.6.24 </li></ul></ul><ul><ul><li>Next to mainline is actual LTTng core </li></ul></ul><ul><ul><li>Go to OLS session Friday 10:00 for more info </li></ul></ul><ul><li>SystemTap </li></ul><ul><ul><li>Nice system, but compilation step was not cross-compile aware </li></ul></ul><ul><ul><ul><li>Lineo Solutions has demonstrated support for cross-execution! </li></ul></ul></ul><ul><ul><li>Work needed for embedded platforms (e.g. Kprobes for MIPS) </li></ul></ul><ul><ul><li>Go to OLS Session Thursday at 14:00 for a ScriptFest </li></ul></ul><ul><li>Printk-times arch support </li></ul><ul><ul><li>Many platforms have bad timer resolution for printk times </li></ul></ul>
  25. 25. Security <ul><li>LSM framework removed from kernel in 2.6.24 </li></ul><ul><li>Has some impact on non-mainlined security systems </li></ul><ul><ul><li>Tomoyo Linux, App Amour </li></ul></ul><ul><li>App Armour has more bad news </li></ul><ul><ul><li>AppArmour group was let go from Novell </li></ul></ul><ul><ul><ul><li>See http://www.news.com/8301-13580_3-9796140-39.html </li></ul></ul></ul><ul><li>Embedded SELinux (see next page) </li></ul>
  26. 26. Embedded SELinux <ul><li>There has been much progress recently to support SELinux in the embedded space </li></ul><ul><li>Requires filesytem with extended attributes </li></ul><ul><ul><li>Some flash filesystems do not support xattrs </li></ul></ul><ul><li>Yuichi Nakamura has described an embedded configuration of SELinux in as little as 700K </li></ul><ul><ul><li>See OLS Session Friday at 14:00 for more information </li></ul></ul>
  27. 27. Power Management <ul><li>Powertop </li></ul><ul><ul><li>Shows timers and power state durations </li></ul></ul><ul><ul><ul><li>Need support for CPUIdle, in order to show C-state (power state) activity for non-Intel processors </li></ul></ul></ul><ul><ul><li>Richard Woodruff did support for TI OMAP </li></ul></ul><ul><ul><ul><li>(Hey other semi-conductor vendors, what are YOU doing??) </li></ul></ul></ul><ul><li>Clock Frameworks – need more arch support </li></ul><ul><li>Wolfson voltage regulator stuff </li></ul><ul><li>See ELC talks for presentations on all of the above – http://www.embeddedlinuxconference.com/ </li></ul>
  28. 28. RealTime <ul><li>RT-preempt </li></ul><ul><ul><li>Latency tracer is being pushed to mainline </li></ul></ul><ul><ul><li>Remaining large pieces seem to have stalled getting to mainline: </li></ul></ul><ul><ul><ul><li>Threaded interrupts </li></ul></ul></ul><ul><ul><ul><li>Sleeping spinlocks </li></ul></ul></ul><ul><ul><li>Always needs tuning to make it work on a new platform </li></ul></ul><ul><ul><ul><li>Tuning notes published at ELC 2008 (Frank Rowand) </li></ul></ul></ul><ul><li>Xenomai emulation layer for legacy RTOS application support </li></ul>
  29. 29. Middleware <ul><li>DLNA </li></ul><ul><ul><li>CELF hosted the first ever open source DLNA summit, in Linz Austria </li></ul></ul><ul><ul><li>CELF has donated several DLNA specifications to open source projects </li></ul></ul><ul><ul><li>New dlna-dev mailing list </li></ul></ul><ul><ul><li>In process of obtaining sample hardware for various DLNA projects </li></ul></ul><ul><ul><li>DLNA summit #2 planned for ELC-Europe 2008 </li></ul></ul>
  30. 30. Mobile Phone News <ul><li>Open Handset Alliance and Android platform </li></ul><ul><ul><li>Still waiting for deployment in phones </li></ul></ul><ul><li>LIMO </li></ul><ul><ul><li>Feb 4 - announced their Linux platform </li></ul></ul><ul><ul><li>Phones based on LIMO have shipped in Japan </li></ul></ul><ul><ul><li>See LIMO press release </li></ul></ul><ul><ul><ul><li>http://www.limofoundation.org/press-releases/limo-press-releases/limo-rolls-out-world-s-first-globally-competitive-linux-based-software-platform-for-mobile-devices.html </li></ul></ul></ul><ul><li>OpenMoko becoming available </li></ul><ul><ul><li>See Thursday Keynote – 16:00 </li></ul></ul><ul><li>Nokia buys out Symbian with plans to make it available as open source (!!?) </li></ul>
  31. 31. Status Resources <ul><li>LinuxDevices.com </li></ul><ul><ul><li>http://www.linuxdevices.com/ </li></ul></ul><ul><li>LWN.net kernel pages </li></ul><ul><ul><li>http://lwn.net/Kernel/ </li></ul></ul><ul><ul><li>Articles sorted by topic </li></ul></ul><ul><ul><ul><li>http://lwn.net/Kernel/Index/ </li></ul></ul></ul><ul><li>Linux Weather Forecast </li></ul><ul><ul><li>http://www.linux-foundation.org/en/Linux_Weather_Forecast </li></ul></ul><ul><li>Embedded Linux Wiki </li></ul><ul><ul><li>http://elinux.org/ </li></ul></ul><ul><ul><li>http://elinux.org/Technology_Watch_List </li></ul></ul>
  32. 32. Technology Watch List <ul><li>CE Linux Forum maintains a list of technologies that we are &quot;watching&quot; </li></ul><ul><ul><li>Things we are interested in </li></ul></ul><ul><ul><li>Kind of like the Kernel Weather Forecast, but with focus on embedded </li></ul></ul><ul><li>List is reported on and updated at CELF meetings </li></ul><ul><li>Page is on elinux wiki: </li></ul><ul><ul><li>http://elinux.org/Technology_Watch_List </li></ul></ul><ul><ul><li>Page is now up-to-date (mostly) </li></ul></ul>
  33. 33. Open Discussion <ul><li>Topics? </li></ul><ul><ul><li>Taking control of the kernel from desktop and enterprise guys </li></ul></ul><ul><ul><ul><li>My favorite quote this week from a mainframe guy: “Sorry for all the bloat the last couple of years…” </li></ul></ul></ul><ul><ul><li>… </li></ul></ul>
  34. 34. Thanks! You’re all invited to come to the CELF Embedded Developer BOF At the Westin Hotel Friday, July 25, 7:00 pm There will be prizes!!! (but no food  )

×