Date post: | 30-Nov-2014 |
Category: |
Devices & Hardware |
Upload: | bud-siddhisena |
View: | 1,999 times |
Download: | 1 times |
FOSS Gadgematics
ByBuddhika SiddhisenaCo-Founder & CTO
THINKCube Systems Pvt. Ltd<[email protected]>
Member of LKLUG & FOSS.LK<[email protected]>
2
Coverage
• Overview of Linux supported devices
• Linux supported Architectures
• Linux device drivers
• Compiling a Linux kernel
• Hardware detection
• Hacking devices to run Linux
3
Overview of Linux supported devices
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 architecturels /usr/src/linux/arch
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
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
• 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).
• 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.
linux:# lspci -vlinux:# lsusb
linux:# /etc/init.d/hotplug start
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
• To list available modules (compiled) for the current kernel
• To get a small description about a module ...
• To load a kernel module driver manually
• 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)
#lsmod
#modprobe -l
#modinfo radeon
#modprobe radeon
8
Compiling device drivers
linux:/usr/src/linux# make menuconfig
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
10
Unconventional Devices
X – Box running Linux
iPAQ running Linux
X – Box running Linux
Phones running Linux
iPOD running Linux
PlayStation running Linux
Gumstick computer
running Linux
Unconventional Devices
PSP running FOSS apps
11
FOSS based gadgets
http://wiki.gp2x.org/wiki/Main_Page
GP2X runs on Linux and is open to developers to build applications
http://opensource.nokia.com/http://www.nokiausa.com/770
Nokia 770 runs on a flavour of Debian GNU/Linux and is open to developers to build applications