140 likes | 390 Views
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
E N D
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