1 / 9

Porting Linux to the Puppeteer

Porting Linux to the Puppeteer. Getting the kernel source. You will need a clean version of the linux kernel source This can be found at www.kernel.org or lots of mirror sites Probably best not to download the latest version Use the numbering system x.y.z Even is stable 2.4.9, 2.6.4 etc

evania
Download Presentation

Porting Linux to the Puppeteer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Porting Linux to the Puppeteer

  2. Getting the kernel source • You will need a clean version of the linux kernel source • This can be found at www.kernel.org or lots of mirror sites • Probably best not to download the latest version • Use the numbering system x.y.z • Even is stable 2.4.9, 2.6.4 etc • Odd is development 2.3.7, 2.5.9 etc

  3. Applying patches • Linux is primarily used on Intel Pentium machines • However other architectures are supported • alpha, arm, i386, ia64, m86k, mips, mips64, ppc s390, sh, sparc, sparc64 • To support other architectures patches need applying to make specific changes to the source

  4. Getting the ARM patches • The ARM Linux patches can be found at www.arm.linux.org.uk • You need to find the patch that applies to your particular kernel • patch-2.4.18-rmk10.gz for 2.4.18 • There are specialised patches for specific features • The patch must be applied to a clean source tree – in the root of the kernel source • Patch –p1 patch-2.4.18-rmk10 • Beware of pre patches!

  5. The Linux kernel source • In order to configure and port the kernel source you will need to know more about its structure. /usr/src/linux Documentation scripts init ipc kernel mm net Include Asm-alpha Asm-arm Asm-generic Asm-i386 ……… linux FS adfs affs autofs ext2 fat …… Drivers acorn atm block cdrom char i2c ……. Arch alpha arm i386 ia64 m68k ….. lib

  6. The arch directories • These contain specific code for each port • It has • Kernel, lib, mm, boot plus variants and board specifics • Lib has optimised code for the hardware • i.e. memcpy, checksums.

  7. Drivers directory • Largest amount of code – circa 1.5M • The area you are most likely to have to port/maintain • Details on buses • Categories of device driver • Char, block, net

  8. The include directory • This is linked a configure time with architecture dependant subdirectories • For example asm-arm • Include/linux for kernel and user apps • Beware for some start up code – for example serial port code

  9. Linux/init • This has 2 file: version.c and main.c • version.c has the version banner at boot time • main.c is the architecture independent boot code • start_kernel is the primary entry point

More Related