FOSS and Linux in particular provides an excellent OS when it comes to hacking gadgets. This presentation created a couple of years back presents GNU/Linux as the unconventional OS that makes this all possible!
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Foss Gadgematics
1. FOSS Gadgematics
By
Buddhika Siddhisena
Co-Founder & CTO
THINKCube Systems Pvt. Ltd
<bud@thinkcube.com>
Member of LKLUG & FOSS.LK
<bud@babytux.org>
2. Coverage
• Overview of Linux supported devices
• Linux supported Architectures
• Linux device drivers
• Compiling a Linux kernel
• Hardware detection
• Hacking devices to run Linux
2
4. Linux supported Architectures
The Linux kernel can theoretically be ported to any architecture supporting a
Paged Memory Management Unit (PMMU)
Certain non MMU processors are also supported via uCLinux
For the latest list on officially supported architecture
ls /usr/src/linux/arch
4
5. Supports more architectures
FOSS Operating systems supports more cpu
architectures
The small notebook below uses the
Transmita Cruso processor which is
x86 compatible. Linux has
optimizations for the Cruso
processor
Above is a Mac-mini powered by a PPC
processor and below is a ShuttleX
powered by an AMD64 processor. Both
run optimized GNU/Linux and BSD
5
6. Checking what devices are connected to your Linux box
• To manually look at what hardware is available on your machine,
several commands can be used
linux:# lspci -v
linux:# lsusb
• To automatically detect hardware at boot time and load appropriate
kernel module drivers you can install a hardware detection utility such
as kudzu or discover
• To detect hardware as they are hot plugged, such as USB memory
sticks, cameras and printers you can run the hotplug service
(deprecated, uses hald wih dbus instead).
linux:# /etc/init.d/hotplug start
• More recently hald/dbus has replaced hotplug as a way of dynamically
loading device drivers and notifying applications of hardware changes
via a message bus.
6
7. Manually loading Linux device drivers
• Device drivers on Linux are implemented at a kernel level
• Device Drivers can be compiled directly in to the kernel or as a
loadable module.
• To list modules that are currently loaded you can issue
#lsmod
• To list available modules (compiled) for the current kernel
#modprobe -l
• To get a small description about a module ...
#modinfo radeon
• To load a kernel module driver manually
#modprobe radeon
• To load a kernel drive automatically as the machine boots consider
adding it to /etc/modules.conf (2.4) or /etc/modprobe.conf (2.6)
7
9. Unconventional Installation - USB/SD/MMC
Unconventional Installations Methods
•“There are several mini
distros that can be installed on
USB pen drives or CF/SD
cards”
Ex:
•DSL (Damm Small Linux)
•SLAX
•Puppy
9
10. Unconventional Devices
Unconventional Devices
iPAQ running
Linux
X – Box
running Linux
Gumstick
computer
running Linux
Phones running
Linux
PlayStation
running Linux
iPOD running
PSP running Linux
FOSS apps
10
11. FOSS based gadgets
Nokia 770 runs on a flavour of
Debian GNU/Linux and is open
to developers to build
applications
http://opensource.nokia.com/
http://www.nokiausa.com/770
GP2X runs on Linux and
is open to developers to
build applications
http://wiki.gp2x.org/wiki/Main_Page
11