21C3 Schedule Release 1.1.7
21st Chaos Communication Congress
Lectures and workshops
|Start Time||22:00 h|
Did you attend this event?
Hacking Linux-Powered Devices
More and more devices like wireless access points, personal network storage servers or satellite decoders are powered by Linux. Some vendors are even publicly distributing the (base) source code for their products. This session will show the details of embedded Linux and how you can change these devices to your own needs.
Introduction (Really Short)
Who am I, what am I doing?
- What is this talk about?
- You are not supposed to get it all during the talk.
- This talk is to show you that hacking hardware is accessible and not just to super hackers.
This is to motivate you to explore things further and be creative.
Paradigm shift for hardware vendors
- From proprietary operating systems to using open source components
- How does the hardware world work; reference designs
- Companies barely design hardware theirself, they simply buy reference designs
- What is a reference design?
- Example from Broadcom
- Many vendors base their hardware on one base design
- Show all APs based on the Broadcom design as an example
- Very cool because little information leaks from many companies result in a large amount of info
Linksys source code, Netgear PDF files, Asus source code
Benefits for them
- Low cost
Surf on the linux and open source wave
Benefits for us
- Companies not releasing everything as they are required by the GPL
Succesful netfilter lawsuites; attitude changes in the commercial world
Examples what you can do
- Two Hardware examples; Asus AP and Linksys USB storage server
- What have people done with these two platforms:
- Asus: Add ipsec software, captive portals, etc.
Linksys: Add more services; iTunes, radius, etc.
Lets take a look at one specific platform
- Broadcom Example:
- Show & Explain high level schematic
CPU, RAM, Flash, GPIO, Networking (usually simple and minimal design)
- PC Boot Sequence vs Embedded boot sequence
- Walk through of all components involved; kernel, init, busybox, uclibc
Filesystems / mtd / jffs / Flash / RAM
- Cross Compilers - What are they, sounds complicated but really is not
- Build process outline; toolchain -> kernel -> uclibc -> busybox -> tools
- Show directory structure on the development machine
- Putting things together in a firmware image
Build process: squashfs -> trx
Example of an open source embedded linux distribution: OpenWRT
- What is it, who created it
- The project needs help, so contribute!
What does it include, how did they put everything together
Q & A