Embedding Linux on the Encore Simputer
Embedding Linux on the Encore Simputer. Samyeer Metrani Encore Software Limited. Agenda. The Encore Simputer Building an ARM Linux Kernel Porting to the Encore Simputer Porting the 2.6-test9 kernel. The Encore-Simputer. The Encore Simputer. 206Mhz StrongARM Processor
Embedding Linux on the Encore Simputer
E N D
Presentation Transcript
Embedding Linux on the Encore Simputer Samyeer Metrani Encore Software Limited
Agenda • The Encore Simputer • Building an ARM Linux Kernel • Porting to the Encore Simputer • Porting the 2.6-test9 kernel
The Encore Simputer • 206Mhz StrongARM Processor • 32-64 MB DRAM – 16-32MB Flash • LCD Panel Color/Mono Display • TouchPanel Input • Internal Mic & Speaker • USB Slave and Serial Port PC Connectivity • Smartcard Interface • V.90 Internal Modem • USB Master • Compact Flash (CF II)
What is on the Simputer? • Stock Linux ARM Kernel • glibc 2.2.4 • XWindows 4.2 and Related X Libraries • GTK 1.2 Libraries • Networking Tools • PPP, ftp, telnet, … • Utilities and Feature Demo’s
Tools Needed • The ARM Toolchain • Using the skiff toolchain • Other pre-built toolchains • ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/ • Building a toolchain.
Building an ARM-Linux Kernel • Selecting a Platform • The Assabet Platform • The Linux Kernel • www.kernel.org • Russel King’s Patches • www.arm.linux.org.uk • Building the first kernel • Cross Compilation Support • Makefile Modifications.
Running the Kernel • The Bootloader • BLOB – www.lart.tudelft.nl • bootldr - http://www.handhelds.org/projects/cvsproj.html?project=bootldr • What does the bootloader do • Processor and Memory initialisation • Setup a serial console • Load kernel (and ramdisk) • Bootloader support for the kernel.
Adding a new architecture • Registering a Machine Type • www.arm.linux.org.uk/developer/machines/ • arch/arm/tools/mach-types • Modifying the configuration menu • Creating a default configuration • Booting the First Kernel • Turning on Kernel Debug.
Getting the Kernel Booting • Bootloader specific initialisation • Kernel Notes • http://www.arm.linux.org.uk/developer/kernelnotes.shtml • Modifying Configure.help • Building a kernel patch.
Machine Specific Initialisations • Architecture specific initialisation • esl_simputer.c, esl_simputer.h • Makefile Modifications • Board specific Initialisations • DRAM Support • Flash MAPS • Bringing up the display • Building a new patch.
What next… • Hardware Interfaces • Peripheral Support • Touchpanel • Audio Support • Keypad Support • RTC Support • USB, Compact Flash • Kernel 2.6…
Porting the 2.6-test9 kernel • Why 2.6 kernel? • Toolchain Differences • 2.95.3, 3,3,1 … • Bootloader Support • Configuration Files.
Thank You Samyeer Metrani