Welcome to Tuxology!

Tuxology is a web site dedicated to the Linux training courses and consultancy provided by Codefidence and Hi-Tech College. It aims to provide an on-line counterpart to the courses material for students who wish to expand their knowledge and keep their skills up to date both during and after the training courses.

In the spirit of the Free and Open Source software world which Linux is a part of, all the site facilities are free for all to access and enjoy, including updated course slides, forums and articles about the different course topics.

Videos from the Linux Symposium in Ottawa

Gilad Ben-Yossef August 14th, 2008

The wonderful Michael Opdenacker and Thomas Petazzoni from Free Electrons are at it again - they have released 29 videos of talks, tutorials and “birds of a feather” sessions given at the 2008 Linux Symposium in Ottawa.

The released video includes the following:

  • Keynote: The Kernel: 10 Years in Review, by Matthew Wilcox (Intel)
  • Talk: Tux on the Air: State of Linux Wireless Networking, by John W. Linville (Red Hat)
  • Talk: Suspend to RAM in Linux: State of the Union, by Len Brown and Rafael Wysocki (Intel)
  • Talk: Real Time vs Real Fast: How To Choose?, by Paul E. McKenney (IBM)
  • Tutorial: ftrace: latency tracer, by Steven Rostedt (Red Hat)
  • BOF: Embedded Linux, by Tim R. Bird (Sony)
  • BOF: Embedded Micro controller Linux, by Michael Durrant (Arcturus Networks)
  • Talk: Energy-aware task and interrupt management, by Vaidyanathan Srinivasan (IBM)
  • Talk: Application Testing Under Realtime Linux, by Luis Claudio R. Gonçalves (Red Hat)
  • Talk: Application Framework for Your Mobile Device, by Shreyas Srinivasan (Geodesic Information Systems)
  • Keynote: The Making of OpenMoko Neo, by Werner Almesberger (OpenMoko)
  • BOF: U-Boot by Wolfgang Denk (Denx)
  • BOF: Linux Compiler, by Rob Landley (Impact Linux)
  • Talk: Advanced XIP File System, by Jared Hulbert (Intel)
  • Talk: SELinux for Consumer Electronic Devices, by Yuichi Nakamura (Hitachi)
  • Talk: Around the Linux File System World in 45 Minutes, by Steve French (IBM)
  • BOF: Linux The Easy Way with LTIB, by Stuart Hughes (Freescale)
  • Keynote: The Joy of Synchronicity: Coordinating the Releases of Upstream and Distributions, by Mark Shuttleworth
  • Talk: Smack in Embedded Computing, by Casey Schauffer
  • Talk: Bazillions of Pages: The Future of Memory Management, by Christoph H. Lameter (SGI)
  • Tutorial: Writing application fault handlers, by Gilad Ben-Yossef (Codefidence)
  • Talk: Linux, Open Source and System Bringup Tools, by Tim Hockin (Google)
  • Talk: DCCP Reached Mobiles, by Leandro Melo Sales (Federal University of Campina Grande)
  • Talk: Building a robust Linux kernel, by Subrata Modak (IBM)
  • CELF BOF presentation: Best of recent CELF Conferences, by Tim Bird (Sony)
  • CELF BOF presentation: Developing Embedded Linux with Target Control, by Tim Bird (Sony)
  • CELF BOF presentation: Embedded Building Tools - An Audience Survey, by Michael Opdenacker (Free Electrons)
  • CELF BOF presentation: GCC Tips and Tricks Highlights, by Gene Sally

The videos and related resources can be downloaded from their conference videos page.

I especially recommend viewing the exceptional “Real Time vs Real Fast: How To Choose?” talk by Paul E. McKenney from IBM and the the “The Making of OpenMoko Neo” keynote, by Werner Almesberger of the OpenMoko.

Much thanks to Michael and Thomas for sharing this with everybody.

Gilad

Using ldd and nm to locate crashing function

Gilad Ben-Yossef August 4th, 2008

A new video post tutorial, showing how to locate the function where your Linux application crashed if all you know is the address where the crash happened using two common Linux utilities: ldd and nm.

Enjoy!

Announcing Herzelinux

Tuxology team July 8th, 2008

We are please to announce the founding of a new Linux User Group for the Herzlia Pituch area: Herzelinux.

Much like its older brothers Haifux and Telux and similar other Linux User Groups around the world, in each meeting one of the club regular members or a guest gives an informal lecture or a talk about an interesting topic related to development in and for Linux and Open Source in general.

Herzelinux focuses in serving the local community of professional Linux developers and hobbyists working in hi-tech companies in the Silicon Wadi area of Herzelia Pituch. Accordingly, the meeting place is in walking distance from most Hi Tech companies in the area and the topics converge towards advanced topics of interest mainly to developers and system administrators.

Our first meet up will be held at Thursday, July 17, 2008 where Gilad Ben-Yossef will give a talk entitled: “Splice, Tee and Vmsplice: zero copy in the Linux kernel”.

Attendance is free, there is no need to pre-register, parking and light snacks and coffee are provided by Hi-Tech College and we welcome each and anyone who is interested in attending.

Wondering when is the next meet up and what it is about? check the schedule.

Want to give a talk in an upcoming meeting? let us know!

See you there!

Tuxology Team

Benchmarking boot latency on x86

Gilad Ben-Yossef July 8th, 2008

One of the tasks embedded system developers face is managing boot latency, or the time it takes for a device to become functional after power up.

After all, a set top box that will take more then 60 seconds from the time the “On” button is pressed until the end customer can at least interact with the menus, for example, will most likely be returned to the store for a refund, no matter what feature set it has. When it come to our gadgets, we are all hungry for immediate satisfaction, it seems.

There are many tricks one can employ to to achieve boot time nirvana, but as Knuth taught us, premature optimization is the root of all evil. Therefore, before we turn our efforts to optimize boot latency, we should first try to measure what that boot latency really is and what part of the boot sequence contribute to it, lest we optimize the wrong thing.

Generally speaking, on a x86 (32bit or 64 bit), the boot process of a Linux system is comprised of the following phases and milestones:

  • The power up milestone: when the power is set to on
  • The BIOS phase: which includes the POST (or Power On Self Test), device initialization, running of option ROMs and loading the boot loader form the MBR (or Master Boot Record).
  • The boot loader phase: loading of an operating system kernel and ancillary data (such as Linux initrd or initramfs) into RAM.
  • Kernel initialization phase: initialization of CPU, peripherals and kernel data structures, including the bring up of the non boot cores in the case of a multi-core machine.
  • First user application first line of code milestone: the time when the first line of user application source code is executed.

Unfortunately, measuring the contribution of each of these phases to the overall boot latency is not an easy task to accomplish. At each of the phases different kind of code is executing on the machine: from the 16 bit BIOS code which is part of the machine firmware, via the 16 or 32 bit boot loader code, the 32 bit kernel code and the finally user applications - each of these is executing in a completely different software environment from the other and it is hard to find a common ground to compare the time each phase takes.

Luckily, the x86 architecture provides a useful tool: the TSC (or Time Stamp Clock) register. The TSC register was introduced in the original Intel Pentium CPU and counts the number of clock ticks from the last processor reset. Reading the current value of the TSC register is done using the RDTSC instruction.

Assuming no processor frequency changes (for example via SpeedStep technology) takes place and that we always sample the register of the same core in a multi core environment, both of which are easy to guarantee during the boot phase, the TSC register provides us with an accurate hi-res timer through which we can benchmarks the various phases in the boot process.

Continue Reading »

A new lecture: Crash N’ Burn

Tuxology team June 30th, 2008

We’ve just added a brand new tutorial to the lectures section on the site, entitled: “Crash and burn: Writing Linux application fault handlers“. Check out the full description, slides and example code on the lecture page.

Or, if you’d rather see our very own Gilad Ben-Yossef present the tutorial in front of a live audience, you’re welcome to attend one of the following venues:

Hope to see you there!

Tuxology team

Writers Wanted!

Tuxology team June 25th, 2008

Penguin AwardGot a story to share about your latest Linux bring up on a new board? have a great tip you would like to share with your peers? wrote an excellent how-to for you co workers and wish to share that with the world?

Great! Now you can win something in addition to your peers admiration - Introducing the Tuxology Contributing Author Contest: post your story as a reply to this message, we’ll publish the best ones (while giving full credit, of course) and the very best of them all will win a free Linux training course of your choosing, courtesy of Hi Tech College.

The fine print: you must have the writes to the material you and agree to let us post it here. All entries must be submitted until the 30 of July and you must OK to publish your name and title as the winner. Best entry selected by Tuxology team members.

Happy authoring!

The Tuxology Team

Updates

Tuxology team June 18th, 2008

Hi there,

We just added a new section to the site: lectures, where we’ll post the slides of technical lectures given at various conferences, events and panels. Already posted are the slides for two lectures: one about different approaches to real time with Linux and another about Open Source virtualization solutions, so go check them out.

Also in the news, slides for both the Advanced Embedded Linux course and the Linux Internals course have been posted.

In addition, slides and syllabus for a new course, Linux Network Internals, which is still in development, has been posted and we’d be very glad to receive your feedback and suggestions.

And as a desert, we’ve added the events from the Haifux meeting calender to the schedule section on the site. Got any other calender we think we should be tracking? let us know.

Have a great day,
The Tuxology Team

Linux Network Stack Flow

Tuxology team June 16th, 2008

A wonderful article, describing the control flow and the associated data types of the Linux networking stack of kernel 2.6, written by Arnout Vandecappelle of Mind, is available via the kind folks at the Linux Foundation.

Accompanying the article itself, an elaborate graphic schema of the network stack and data type, is also included. Looks like it will make a great cubicle poster!

The Tuxology Team

Penguin In a Box 2008

Limor Pipman June 5th, 2008

We are proud to announce that the third annual Penguin In A Box embedded Linux seminar organized by Codefidence ltd. in cooperation with Hi Tech College, will be held at the 03/07/2008 07/08/2008 in the Daniel hotel and convention center in Herzelia, Israel.

As the use of Linux in the embedded market is on the rise and it’s development continues at an extraordinary rate, the seminar will cover, as in previous years, a broad range of topics relevant to Linux based embedded system developers wishing to keep abreast of recent developments.

For further details, check out the seminar web page (in Hebrew).

Remote Debugging with Eclipse

Tuxology team June 5th, 2008

Eclipse is an open source development platform comprised of extensible frameworks, tools and run times for building, deploying and managing software across the life cycle.

CDT is the name of the C/C++ development plug-in. It includes a graphical GDB front end.

The following slides are a short visual “how to” demonstrating configuring and using CDT to debug a remote target with GDB.

Read this doc on Scribd: eclipse debug

Next »