Difference between revisions of "User:J Lipscomb"

From eLinux.org
Jump to: navigation, search
m
m
(9 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
I am currently an Electrical Engineering undergraduate student at Rose-Hulman Institute of Technology in Terre Haute, Indiana.
 
I am currently an Electrical Engineering undergraduate student at Rose-Hulman Institute of Technology in Terre Haute, Indiana.
 +
  
 
== Chapter 2 Listings ==
 
== Chapter 2 Listings ==
Line 8: Line 9:
 
! Caption
 
! Caption
 
! Listing
 
! Listing
 +
|-
 +
| 2-1
 +
| Initial Bootloader Serial Output
 +
| <pre>
 +
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
 +
Reading boot sector
 +
Loading u-boot.bin from mmc
 +
 +
 +
U-Boot 2009.11-rc1 (Mar 15 2010 - 10:22:11)
 +
 +
OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
 +
OMAP3 Beagle board + LPDDR/NAND
 +
I2C:  ready
 +
DRAM:  256 MB
 +
NAND:  256 MiB
 +
*** Warning - bad CRC or NAND, using default environment
 +
 +
In:    serial
 +
Out:  serial
 +
Err:  serial
 +
Board revision C4
 +
Die ID #18b2000400000000040365fa14019011
 +
</pre>
 +
|-
 +
| 2-3
 +
| Linux Final Boot Message
 +
| <pre>
 +
Starting portmap daemon: portmap.
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
net.ipv4.conf.default.rp_filter = 1
 +
net.ipv4.conf.all.rp_filter = 1
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
hwclock: can't open '/dev/misc/rtc': No such file or directory
 +
Tue Mar 16 10:36:00 GMT 2010
 +
hwclock: can't open '/dev/misc/rtc': No such file or directory
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
INIT: Entering runlevel: 5
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
Starting system message bus: dbus.
 +
Starting Hardware abstraction layer hald
 +
Configuring leds:
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
  beagleboard::usr0: heartbeat
 +
  beagleboard::usr1: mmc0
 +
Starting Dropbear SSH server: Cannot find fifo at /mnt/.splash/exquisite.
 +
dropbear.
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
Starting advanced power management daemon: No APM support in kernel
 +
(failed.)
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
Starting syslogd/klogd: done
 +
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
[ ok ]
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
Starting Network connection manager daemon: NetworkManager.
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
Loading [g_cdc]
 +
[  165.619659] g_cdc gadget: using random self ethernet address
 +
[  165.625793] g_cdc gadget: using random host ethernet address
 +
[  165.649749] usb0: MAC 9a:7c:e6:11:ca:09
 +
[  165.653625] usb0: HOST MAC 96:2f:f0:3e:85:c6
 +
[  165.681610] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
 +
[  165.703247] g_cdc gadget: g_cdc ready
 +
[  165.706970] musb_hdrc musb_hdrc: MUSB HDRC host driver
 +
[  165.729461] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
 +
[  165.782409] usb usb2: configuration #1 chosen from 1 choice
 +
[  165.788604] hub 2-0:1.0: USB hub found
 +
[  165.812591] hub 2-0:1.0: 1 port detected
 +
Starting GPE display manager: gpe-dm
 +
[  165.984588] ADDRCONF(NETDEV_UP): usb0: link is not ready
 +
Cannot find fifo at /mnt/.splash/exquisite.
 +
                                          Cannot find fifo at /mnt/.splash/exquisite.
 +
      Cannot find fifo at /mnt/.splash/exquisite.
 +
 +
.-------.
 +
|      |                  .-.
 +
|  |  |-----.-----.-----.| |  .----..-----.-----.
 +
|      |    | __  |  ---'| '--.|  .-'|    |    |
 +
|  |  |  |  |    |---  ||  --'|  |  |  '  | | | |
 +
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
 +
                -'  |
 +
                '---'
 +
 +
The Angstrom Distribution beagleboard ttyS2
 +
 +
Angstrom 2009.X-test-20100316 beagleboard ttyS2
 +
</pre>
 
|-
 
|-
 
| 2-4
 
| 2-4
Line 36: Line 128:
 
   return 0;
 
   return 0;
 
}
 
}
 +
</pre>
 +
|}
 +
 +
== Chapter 4 Listings ==
 +
{|
 +
! Number
 +
! Caption
 +
! Listing
 +
|-
 +
| 4-3
 +
| Kernel Subdirectory omap1
 +
| <pre>
 +
lipscojl@Kratos:/dump/hw/oe/linux-omap-2.6/arch/arm$ ls -l mach-omap1
 +
total 432
 +
-rwxrwx--x 1 brian elinux  7080 2010-03-11 23:14 board-ams-delta.c
 +
-rwxrwx--x 1 brian elinux  9081 2010-03-11 23:14 board-fsample.c
 +
-rwxrwx--x 1 brian elinux  2514 2010-03-11 23:14 board-generic.c
 +
-rwxrwx--x 1 brian elinux 11159 2010-03-11 23:14 board-h2.c
 +
-rwxrwx--x 1 brian elinux  1585 2010-03-11 23:14 board-h2.h
 +
-rwxrwx--x 1 brian elinux  1862 2010-03-11 23:14 board-h2-mmc.c
 +
-rwxrwx--x 1 brian elinux 10227 2010-03-11 23:14 board-h3.c
 +
-rwxrwx--x 1 brian elinux  1550 2010-03-11 23:14 board-h3.h
 +
-rwxrwx--x 1 brian elinux  1668 2010-03-11 23:14 board-h3-mmc.c
 +
-rwxrwx--x 1 brian elinux  8037 2010-03-11 23:14 board-htcherald.c
 +
-rwxrwx--x 1 brian elinux 11497 2010-03-11 23:14 board-innovator.c
 +
-rwxrwx--x 1 brian elinux 10347 2010-03-11 23:14 board-nokia770.c
 +
-rwxrwx--x 1 brian elinux 15686 2010-03-11 23:14 board-osk.c
 +
-rwxrwx--x 1 brian elinux  9547 2010-03-11 23:14 board-palmte.c
 +
-rwxrwx--x 1 brian elinux  7198 2010-03-11 23:14 board-palmtt.c
 +
-rwxrwx--x 1 brian elinux  8167 2010-03-11 23:14 board-palmz71.c
 +
-rwxrwx--x 1 brian elinux  7691 2010-03-11 23:14 board-perseus2.c
 +
-rwxrwx--x 1 brian elinux 10377 2010-03-11 23:14 board-sx1.c
 +
-rwxrwx--x 1 brian elinux  1614 2010-03-11 23:14 board-sx1-mmc.c
 +
-rwxrwx--x 1 brian elinux  6996 2010-03-11 23:14 board-voiceblue.c
 +
-rwxrwx--x 1 brian elinux 14005 2010-03-11 23:14 clock.c
 +
-rwxrwx--x 1 brian elinux 24059 2010-03-11 23:14 clock_data.c
 +
-rwxrwx--x 1 brian elinux  3880 2010-03-11 23:14 clock.h
 +
-rwxrwx--x 1 brian elinux  7542 2010-03-11 23:14 devices.c
 +
-rwxrwx--x 1 brian elinux  692 2010-03-11 23:14 flash.c
 +
-rwxrwx--x 1 brian elinux  5186 2010-03-11 23:14 fpga.c
 +
-rwxrwx--x 1 brian elinux  1025 2010-03-11 23:14 i2c.c
 +
-rwxrwx--x 1 brian elinux  6447 2010-03-11 23:14 id.c
 +
drwxrwx--x 3 brian elinux  4096 2010-03-11 23:14 include
 +
-rwxrwx--x 1 brian elinux  3552 2010-03-11 23:14 io.c
 +
-rwxrwx--x 1 brian elinux  7074 2010-03-11 23:14 irq.c
 +
-rwxrwx--x 1 brian elinux  6527 2010-03-11 23:14 Kconfig
 +
-rwxrwx--x 1 brian elinux 10873 2010-03-11 23:14 lcd_dma.c
 +
-rwxrwx--x 1 brian elinux  1461 2010-03-11 23:14 leds.c
 +
-rwxrwx--x 1 brian elinux  146 2010-03-11 23:14 leds.h
 +
-rwxrwx--x 1 brian elinux  3222 2010-03-11 23:14 leds-h2p2-debug.c
 +
-rwxrwx--x 1 brian elinux  1565 2010-03-11 23:14 leds-innovator.c
 +
-rwxrwx--x 1 brian elinux  2044 2010-03-11 23:14 leds-osk.c
 +
-rwxrwx--x 1 brian elinux  4798 2010-03-11 23:14 mailbox.c
 +
-rwxrwx--x 1 brian elinux  1776 2010-03-11 23:14 Makefile
 +
-rwxrwx--x 1 brian elinux    87 2010-03-11 23:14 Makefile.boot
 +
-rwxrwx--x 1 brian elinux  5597 2010-03-11 23:14 mcbsp.c
 +
-rwxrwx--x 1 brian elinux 20719 2010-03-11 23:14 mux.c
 +
-rwxrwx--x 1 brian elinux  2279 2010-03-11 23:14 opp_data.c
 +
-rwxrwx--x 1 brian elinux  705 2010-03-11 23:14 opp.h
 +
-rwxrwx--x 1 brian elinux 19611 2010-03-11 23:14 pm.c
 +
-rwxrwx--x 1 brian elinux  9084 2010-03-11 23:14 pm.h
 +
-rwxrwx--x 1 brian elinux  6043 2010-03-11 23:14 serial.c
 +
-rwxrwx--x 1 brian elinux  9282 2010-03-11 23:14 sleep.S
 +
-rwxrwx--x 1 brian elinux  1543 2010-03-11 23:14 sram.S
 +
-rwxrwx--x 1 brian elinux  7096 2010-03-11 23:14 time.c
 +
-rwxrwx--x 1 brian elinux  6121 2010-03-11 23:14 timer32k.c
 +
</pre>
 +
|-
 +
| 4-3
 +
| Kernel Subdirectory omap2
 +
| <pre>
 +
lipscojl@Kratos:/dump/hw/oe/linux-omap-2.6/arch/arm$ ls -l mach-omap2
 +
total 1952
 +
-rwxrwx--x 1 brian elinux  5333 2010-03-11 23:14 board-2430sdp.c
 +
-rwxrwx--x 1 brian elinux  19575 2010-03-11 23:14 board-3430sdp.c
 +
-rwxrwx--x 1 brian elinux  2645 2010-03-11 23:14 board-3630sdp.c
 +
-rwxrwx--x 1 brian elinux  3467 2010-03-11 23:14 board-4430sdp.c
 +
-rwxrwx--x 1 brian elinux  8117 2010-03-11 23:14 board-am3517evm.c
 +
-rwxrwx--x 1 brian elinux  8653 2010-03-11 23:14 board-apollon.c
 +
-rwxrwx--x 1 brian elinux  22418 2010-03-11 23:14 board-cm-t35.c
 +
-rwxrwx--x 1 brian elinux  17097 2010-03-11 23:14 board-devkit8000.c
 +
-rwxrwx--x 1 brian elinux  1763 2010-03-11 23:14 board-generic.c
 +
-rwxrwx--x 1 brian elinux  9359 2010-03-11 23:14 board-h4.c
 +
-rwxrwx--x 1 brian elinux  14145 2010-03-11 23:14 board-igep0020.c
 +
-rwxrwx--x 1 brian elinux  9466 2010-03-11 23:14 board-ldp.c
 +
-rwxrwx--x 1 brian elinux  15510 2010-03-11 23:14 board-n8x0.c
 +
-rwxrwx--x 1 brian elinux  11863 2010-03-11 23:14 board-omap3beagle.c
 +
-rwxrwx--x 1 brian elinux  18257 2010-03-11 23:14 board-omap3evm.c
 +
-rwxrwx--x 1 brian elinux  15568 2010-03-11 23:14 board-omap3pandora.c
 +
-rwxrwx--x 1 brian elinux  14241 2010-03-11 23:14 board-omap3touchbook.c
 +
-rwxrwx--x 1 brian elinux  12529 2010-03-11 23:14 board-overo.c
 +
-rwxrwx--x 1 brian elinux  3544 2010-03-11 23:14 board-rx51.c
 +
-rwxrwx--x 1 brian elinux  20958 2010-03-11 23:14 board-rx51-peripherals.c
 +
-rwxrwx--x 1 brian elinux  4914 2010-03-11 23:14 board-rx51-sdram.c
 +
-rwxrwx--x 1 brian elinux  6955 2010-03-11 23:14 board-sdp-flash.c
 +
-rwxrwx--x 1 brian elinux  2311 2010-03-11 23:14 board-zoom2.c
 +
-rwxrwx--x 1 brian elinux  2002 2010-03-11 23:14 board-zoom3.c
 +
-rwxrwx--x 1 brian elinux  3863 2010-03-11 23:14 board-zoom-debugboard.c
 +
-rwxrwx--x 1 brian elinux  6928 2010-03-11 23:14 board-zoom-peripherals.c
 +
-rwxrwx--x 1 brian elinux  2709 2010-03-11 23:14 clkt2xxx_apll.c
 +
-rwxrwx--x 1 brian elinux  4517 2010-03-11 23:14 clkt2xxx_dpllcore.c
 +
-rwxrwx--x 1 brian elinux  1339 2010-03-11 23:14 clkt2xxx_osc.c
 +
-rwxrwx--x 1 brian elinux  1044 2010-03-11 23:14 clkt2xxx_sys.c
 +
-rwxrwx--x 1 brian elinux  6350 2010-03-11 23:14 clkt2xxx_virt_prcm_set.c
 +
-rwxrwx--x 1 brian elinux  3190 2010-03-11 23:14 clkt34xx_dpll3m2.c
 +
-rwxrwx--x 1 brian elinux  10683 2010-03-11 23:14 clkt_clksel.c
 +
-rwxrwx--x 1 brian elinux  11398 2010-03-11 23:14 clkt_dpll.c
 +
-rwxrwx--x 1 brian elinux  57617 2010-03-11 23:14 clock2420_data.c
 +
-rwxrwx--x 1 brian elinux  1825 2010-03-11 23:14 clock2430.c
 +
-rwxrwx--x 1 brian elinux  60193 2010-03-11 23:14 clock2430_data.c
 +
-rwxrwx--x 1 brian elinux  1545 2010-03-11 23:14 clock2xxx.c
 +
-rwxrwx--x 1 brian elinux  1303 2010-03-11 23:14 clock2xxx.h
 +
-rwxrwx--x 1 brian elinux  4195 2010-03-11 23:14 clock34xx.c
 +
-rwxrwx--x 1 brian elinux    430 2010-03-11 23:14 clock34xx.h
 +
-rwxrwx--x 1 brian elinux  4195 2010-03-11 23:14 clock3517.c
 +
-rwxrwx--x 1 brian elinux    355 2010-03-11 23:14 clock3517.h
 +
-rwxrwx--x 1 brian elinux  2027 2010-03-11 23:14 clock36xx.c
 +
-rwxrwx--x 1 brian elinux    313 2010-03-11 23:14 clock36xx.h
 +
-rwxrwx--x 1 brian elinux  2585 2010-03-11 23:14 clock3xxx.c
 +
-rwxrwx--x 1 brian elinux 109556 2010-03-11 23:14 clock3xxx_data.c
 +
-rwxrwx--x 1 brian elinux    563 2010-03-11 23:14 clock3xxx.h
 +
-rwxrwx--x 1 brian elinux  82933 2010-03-11 23:14 clock44xx_data.c
 +
-rwxrwx--x 1 brian elinux    445 2010-03-11 23:14 clock44xx.h
 +
-rwxrwx--x 1 brian elinux  14082 2010-03-11 23:14 clock.c
 +
-rwxrwx--x 1 brian elinux  1216 2010-03-11 23:14 clock_common_data.c
 +
-rwxrwx--x 1 brian elinux  29903 2010-03-11 23:14 clockdomain.c
 +
-rwxrwx--x 1 brian elinux  8265 2010-03-11 23:14 clockdomains44xx.h
 +
-rwxrwx--x 1 brian elinux  24077 2010-03-11 23:14 clockdomains.h
 +
-rwxrwx--x 1 brian elinux  5076 2010-03-11 23:14 clock.h
 +
-rwxrwx--x 1 brian elinux  29027 2010-03-11 23:14 cm44xx.h
 +
-rwxrwx--x 1 brian elinux  1421 2010-03-11 23:14 cm4xxx.c
 +
-rwxrwx--x 1 brian elinux  1683 2010-03-11 23:14 cm.c
 +
-rwxrwx--x 1 brian elinux  4467 2010-03-11 23:14 cm.h
 +
-rwxrwx--x 1 brian elinux  14321 2010-03-11 23:14 cm-regbits-24xx.h
 +
-rwxrwx--x 1 brian elinux  27452 2010-03-11 23:14 cm-regbits-34xx.h
 +
-rwxrwx--x 1 brian elinux  60074 2010-03-11 23:14 cm-regbits-44xx.h
 +
-rwxrwx--x 1 brian elinux  15102 2010-03-11 23:14 control.c
 +
-rwxrwx--x 1 brian elinux  14037 2010-03-11 23:14 cpuidle34xx.c
 +
-rwxrwx--x 1 brian elinux  18888 2010-03-11 23:14 devices.c
 +
-rwxrwx--x 1 brian elinux  15462 2010-03-11 23:14 dpll3xxx.c
 +
-rwxrwx--x 1 brian elinux  1522 2010-03-11 23:14 emu.c
 +
-rwxrwx--x 1 brian elinux  15087 2010-03-11 23:14 gpmc.c
 +
-rwxrwx--x 1 brian elinux  3562 2010-03-11 23:14 gpmc-nand.c
 +
-rwxrwx--x 1 brian elinux  9348 2010-03-11 23:14 gpmc-onenand.c
 +
-rwxrwx--x 1 brian elinux  5045 2010-03-11 23:14 gpmc-smc91x.c
 +
-rwxrwx--x 1 brian elinux  6968 2010-03-11 23:14 hsmmc.c
 +
-rwxrwx--x 1 brian elinux  1238 2010-03-11 23:14 hsmmc.h
 +
-rwxrwx--x 1 brian elinux  1538 2010-03-11 23:14 i2c.c
 +
-rwxrwx--x 1 brian elinux  10740 2010-03-11 23:14 id.c
 +
drwxrwx--x 3 brian elinux  4096 2010-03-11 23:14 include
 +
-rwxrwx--x 1 brian elinux  7975 2010-03-11 23:14 io.c
 +
-rwxrwx--x 1 brian elinux  7914 2010-03-11 23:14 iommu2.c
 +
-rwxrwx--x 1 brian elinux  7481 2010-03-11 23:14 irq.c
 +
-rwxrwx--x 1 brian elinux  3448 2010-03-11 23:14 Kconfig
 +
-rwxrwx--x 1 brian elinux  12216 2010-03-11 23:14 mailbox.c
 +
-rwxrwx--x 1 brian elinux  4943 2010-03-11 23:14 Makefile
 +
-rwxrwx--x 1 brian elinux    86 2010-03-11 23:14 Makefile.boot
 +
-rwxrwx--x 1 brian elinux  7650 2010-03-11 23:14 mcbsp.c
 +
-rwxrwx--x 1 brian elinux  83424 2010-03-11 23:14 mux34xx.c
 +
-rwxrwx--x 1 brian elinux  20813 2010-03-11 23:14 mux34xx.h
 +
-rwxrwx--x 1 brian elinux  26941 2010-03-11 23:14 mux.c
 +
-rwxrwx--x 1 brian elinux  5089 2010-03-11 23:14 mux.h
 +
-rwxrwx--x 1 brian elinux  2196 2010-03-11 23:14 omap3-iommu.c
 +
-rwxrwx--x 1 brian elinux    847 2010-03-11 23:14 omap44xx-smc.S
 +
-rwxrwx--x 1 brian elinux  1588 2010-03-11 23:14 omap-headsmp.S
 +
-rwxrwx--x 1 brian elinux  4151 2010-03-11 23:14 omap_hwmod_2420_data.c
 +
-rwxrwx--x 1 brian elinux  4243 2010-03-11 23:14 omap_hwmod_2430_data.c
 +
-rwxrwx--x 1 brian elinux  5122 2010-03-11 23:14 omap_hwmod_3xxx_data.c
 +
-rwxrwx--x 1 brian elinux  42966 2010-03-11 23:14 omap_hwmod.c
 +
-rwxrwx--x 1 brian elinux  1796 2010-03-11 23:14 omap_hwmod_common_data.c
 +
-rwxrwx--x 1 brian elinux    736 2010-03-11 23:14 omap_hwmod_common_data.h
 +
-rwxrwx--x 1 brian elinux  4059 2010-03-11 23:14 omap-smp.c
 +
-rwxrwx--x 1 brian elinux  4994 2010-03-11 23:14 opp2420_data.c
 +
-rwxrwx--x 1 brian elinux  4914 2010-03-11 23:14 opp2430_data.c
 +
-rwxrwx--x 1 brian elinux  15591 2010-03-11 23:14 opp2xxx.h
 +
-rwxrwx--x 1 brian elinux  13927 2010-03-11 23:14 pm24xx.c
 +
-rwxrwx--x 1 brian elinux  29998 2010-03-11 23:14 pm34xx.c
 +
-rwxrwx--x 1 brian elinux  14658 2010-03-11 23:14 pm-debug.c
 +
-rwxrwx--x 1 brian elinux  2526 2010-03-11 23:14 pm.h
 +
-rwxrwx--x 1 brian elinux  27931 2010-03-11 23:14 powerdomain.c
 +
-rwxrwx--x 1 brian elinux  2659 2010-03-11 23:14 powerdomains24xx.h
 +
-rwxrwx--x 1 brian elinux  6376 2010-03-11 23:14 powerdomains34xx.h
 +
-rwxrwx--x 1 brian elinux  8752 2010-03-11 23:14 powerdomains44xx.h
 +
-rwxrwx--x 1 brian elinux  3730 2010-03-11 23:14 powerdomains.h
 +
-rwxrwx--x 1 brian elinux  20105 2010-03-11 23:14 prcm.c
 +
-rwxrwx--x 1 brian elinux  16366 2010-03-11 23:14 prcm-common.h
 +
-rwxrwx--x 1 brian elinux  33309 2010-03-11 23:14 prm44xx.h
 +
-rwxrwx--x 1 brian elinux  14824 2010-03-11 23:14 prm.h
 +
-rwxrwx--x 1 brian elinux  8244 2010-03-11 23:14 prm-regbits-24xx.h
 +
-rwxrwx--x 1 brian elinux  19792 2010-03-11 23:14 prm-regbits-34xx.h
 +
-rwxrwx--x 1 brian elinux  80743 2010-03-11 23:14 prm-regbits-44xx.h
 +
-rwxrwx--x 1 brian elinux  1207 2010-03-11 23:14 sdram-hynix-h8mbx00u0mer-0em.h
 +
-rwxrwx--x 1 brian elinux  1306 2010-03-11 23:14 sdram-micron-mt46h32m32lf-6.h
 +
-rwxrwx--x 1 brian elinux  1141 2010-03-11 23:14 sdram-numonyx-m65kxxxxam.h
 +
-rwxrwx--x 1 brian elinux  1254 2010-03-11 23:14 sdram-qimonda-hyb18m512160af-6.h
 +
-rwxrwx--x 1 brian elinux  4290 2010-03-11 23:14 sdrc2xxx.c
 +
-rwxrwx--x 1 brian elinux  4676 2010-03-11 23:14 sdrc.c
 +
-rwxrwx--x 1 brian elinux  1935 2010-03-11 23:14 sdrc.h
 +
-rwxrwx--x 1 brian elinux  18740 2010-03-11 23:14 serial.c
 +
-rwxrwx--x 1 brian elinux  4039 2010-03-11 23:14 sleep24xx.S
 +
-rwxrwx--x 1 brian elinux  19716 2010-03-11 23:14 sleep34xx.S
 +
-rwxrwx--x 1 brian elinux  10217 2010-03-11 23:14 sram242x.S
 +
-rwxrwx--x 1 brian elinux  10217 2010-03-11 23:14 sram243x.S
 +
-rwxrwx--x 1 brian elinux  9800 2010-03-11 23:14 sram34xx.S
 +
-rwxrwx--x 1 brian elinux  6480 2010-03-11 23:14 timer-gp.c
 +
-rwxrwx--x 1 brian elinux    974 2010-03-11 23:14 timer-mpu.c
 +
-rwxrwx--x 1 brian elinux  7046 2010-03-11 23:14 usb-ehci.c
 +
-rwxrwx--x 1 brian elinux  3089 2010-03-11 23:14 usb-musb.c
 +
-rwxrwx--x 1 brian elinux  8813 2010-03-11 23:14 usb-tusb6010.c
 +
</pre>
 +
|-
 +
| 4-6
 +
| Makefile Targets
 +
| <pre>
 +
lipscojl@Kratos:/dump/hw/oe/linux-omap-2.6$ make ARCH=arm help
 +
Cleaning targets:
 +
  clean          - Remove most generated files but keep the config and
 +
                    enough build support to build external modules
 +
  mrproper        - Remove all generated files + config + various backup files
 +
  distclean      - mrproper + remove editor backup and patch files
 +
 +
Configuration targets:
 +
  config          - Update current config utilising a line-oriented program
 +
  menuconfig      - Update current config utilising a menu based program
 +
  xconfig        - Update current config utilising a QT based front-end
 +
  gconfig        - Update current config utilising a GTK based front-end
 +
  oldconfig      - Update current config utilising a provided .config as base
 +
  localmodconfig  - Update current config disabling modules not loaded
 +
  localyesconfig  - Update current config converting local mods to core
 +
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps
 +
  randconfig      - New config with random answer to all options
 +
  defconfig      - New config with default answer to all options
 +
  allmodconfig    - New config selecting modules when possible
 +
  allyesconfig    - New config where all options are accepted with yes
 +
  allnoconfig    - New config where all options are answered with no
 +
 +
Other generic targets:
 +
  all            - Build all targets marked with [*]
 +
* vmlinux        - Build the bare kernel
 +
* modules        - Build all modules
 +
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
 +
  firmware_install- Install all firmware to INSTALL_FW_PATH
 +
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)
 +
  dir/            - Build all files in dir and below
 +
  dir/file.[ois]  - Build specified target only
 +
  dir/file.ko    - Build module including final link
 +
  modules_prepare - Set up for building external modules
 +
  tags/TAGS      - Generate tags file for editors
 +
  cscope          - Generate cscope index
 +
  kernelrelease  - Output the release version string
 +
  kernelversion  - Output the version stored in Makefile
 +
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
 +
                    (default: /dump/hw/oe/linux-omap-2.6/usr)
 +
 +
Static analysers
 +
  checkstack      - Generate a list of stack hogs
 +
  namespacecheck  - Name space analysis on compiled kernel
 +
  versioncheck    - Sanity check on version.h usage
 +
  includecheck    - Check for duplicate included header files
 +
  export_report  - List the usages of all exported symbols
 +
  headers_check  - Sanity check on exported headers
 +
  headerdep      - Detect inclusion cycles in headers
 +
 +
Kernel packaging:
 +
  rpm-pkg        - Build both source and binary RPM kernel packages
 +
  binrpm-pkg      - Build only the binary kernel package
 +
  deb-pkg        - Build the kernel as an deb package
 +
  tar-pkg        - Build the kernel as an uncompressed tarball
 +
  targz-pkg      - Build the kernel as a gzip compressed tarball
 +
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball
 +
 +
Documentation targets:
 +
Linux kernel internal documentation in different formats:
 +
  htmldocs        - HTML
 +
  pdfdocs        - PDF
 +
  psdocs          - Postscript
 +
  xmldocs        - XML DocBook
 +
  mandocs        - man pages
 +
  installmandocs  - install man pages generated by mandocs
 +
  cleandocs      - clean all generated DocBook files
 +
 +
Architecture specific targets (arm):
 +
* zImage        - Compressed kernel image (arch/arm/boot/zImage)
 +
  Image        - Uncompressed kernel image (arch/arm/boot/Image)
 +
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)
 +
  uImage        - U-Boot wrapped zImage
 +
  bootpImage    - Combined zImage and initial RAM disk
 +
                  (supply initrd image via make variable INITRD=<path>)
 +
  install      - Install uncompressed kernel
 +
  zinstall      - Install compressed kernel
 +
                  Install using (your) ~/bin/installkernel or
 +
                  (distribution) /sbin/installkernel or
 +
                  install to $(INSTALL_PATH) and run lilo
 +
 +
  acs5k_defconfig          - Build for acs5k
 +
  acs5k_tiny_defconfig    - Build for acs5k_tiny
 +
  afeb9260_defconfig      - Build for afeb9260
 +
  am200epdkit_defconfig    - Build for am200epdkit
 +
  am3517_evm_defconfig    - Build for am3517_evm
 +
  ams_delta_defconfig      - Build for ams_delta
 +
  assabet_defconfig        - Build for assabet
 +
  at572d940hfek_defconfig  - Build for at572d940hfek
 +
  at91cap9adk_defconfig    - Build for at91cap9adk
 +
  at91rm9200dk_defconfig  - Build for at91rm9200dk
 +
  at91rm9200ek_defconfig  - Build for at91rm9200ek
 +
  at91sam9260ek_defconfig  - Build for at91sam9260ek
 +
  at91sam9261ek_defconfig  - Build for at91sam9261ek
 +
  at91sam9263ek_defconfig  - Build for at91sam9263ek
 +
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek
 +
  at91sam9rlek_defconfig  - Build for at91sam9rlek
 +
  ateb9200_defconfig      - Build for ateb9200
 +
  badge4_defconfig        - Build for badge4
 +
  bcmring_defconfig        - Build for bcmring
 +
  cam60_defconfig          - Build for cam60
 +
  carmeva_defconfig        - Build for carmeva
 +
  cerfcube_defconfig      - Build for cerfcube
 +
  cm_t35_defconfig        - Build for cm_t35
 +
  cm_x2xx_defconfig        - Build for cm_x2xx
 +
  cm_x300_defconfig        - Build for cm_x300
 +
  colibri_pxa270_defconfig - Build for colibri_pxa270
 +
  colibri_pxa300_defconfig - Build for colibri_pxa300
 +
  collie_defconfig        - Build for collie
 +
  corgi_defconfig          - Build for corgi
 +
  cpu9260_defconfig        - Build for cpu9260
 +
  cpu9g20_defconfig        - Build for cpu9g20
 +
  cpuat91_defconfig        - Build for cpuat91
 +
  csb337_defconfig        - Build for csb337
 +
  csb637_defconfig        - Build for csb637
 +
  da8xx_omapl_defconfig    - Build for da8xx_omapl
 +
  davinci_all_defconfig    - Build for davinci_all
 +
  devkit8000_defconfig    - Build for devkit8000
 +
  dove_defconfig          - Build for dove
 +
  ebsa110_defconfig        - Build for ebsa110
 +
  ecbat91_defconfig        - Build for ecbat91
 +
  edb7211_defconfig        - Build for edb7211
 +
  em_x270_defconfig        - Build for em_x270
 +
  ep93xx_defconfig        - Build for ep93xx
 +
  eseries_pxa_defconfig    - Build for eseries_pxa
 +
  ezx_defconfig            - Build for ezx
 +
  footbridge_defconfig    - Build for footbridge
 +
  fortunet_defconfig      - Build for fortunet
 +
  h3600_defconfig          - Build for h3600
 +
  h5000_defconfig          - Build for h5000
 +
  h7201_defconfig          - Build for h7201
 +
  h7202_defconfig          - Build for h7202
 +
  hackkit_defconfig        - Build for hackkit
 +
  htcherald_defconfig      - Build for htcherald
 +
  igep0020_defconfig      - Build for igep0020
 +
  integrator_defconfig    - Build for integrator
 +
  iop13xx_defconfig        - Build for iop13xx
 +
  iop32x_defconfig        - Build for iop32x
 +
  iop33x_defconfig        - Build for iop33x
 +
  ixp2000_defconfig        - Build for ixp2000
 +
  ixp23xx_defconfig        - Build for ixp23xx
 +
  ixp4xx_defconfig        - Build for ixp4xx
 +
  jornada720_defconfig    - Build for jornada720
 +
  kafa_defconfig          - Build for kafa
 +
  kb9202_defconfig        - Build for kb9202
 +
  kirkwood_defconfig      - Build for kirkwood
 +
  ks8695_defconfig        - Build for ks8695
 +
  lart_defconfig          - Build for lart
 +
  loki_defconfig          - Build for loki
 +
  lpd270_defconfig        - Build for lpd270
 +
  lpd7a400_defconfig      - Build for lpd7a400
 +
  lpd7a404_defconfig      - Build for lpd7a404
 +
  lubbock_defconfig        - Build for lubbock
 +
  lusl7200_defconfig      - Build for lusl7200
 +
  magician_defconfig      - Build for magician
 +
  mainstone_defconfig      - Build for mainstone
 +
  mini2440_defconfig      - Build for mini2440
 +
  msm_defconfig            - Build for msm
 +
  mv78xx0_defconfig        - Build for mv78xx0
 +
  mx1ads_defconfig        - Build for mx1ads
 +
  mx1_defconfig            - Build for mx1
 +
  mx21_defconfig          - Build for mx21
 +
  mx27_defconfig          - Build for mx27
 +
  mx31pdk_defconfig        - Build for mx31pdk
 +
  mx3_defconfig            - Build for mx3
 +
  n770_defconfig          - Build for n770
 +
  n8x0_defconfig          - Build for n8x0
 +
  neocore926_defconfig    - Build for neocore926
 +
  neponset_defconfig      - Build for neponset
 +
  netwinder_defconfig      - Build for netwinder
 +
  netx_defconfig          - Build for netx
 +
  nhk8815_defconfig        - Build for nhk8815
 +
  ns9xxx_defconfig        - Build for ns9xxx
 +
  nuc910_defconfig        - Build for nuc910
 +
  nuc950_defconfig        - Build for nuc950
 +
  nuc960_defconfig        - Build for nuc960
 +
  omap_2430sdp_defconfig  - Build for omap_2430sdp
 +
  omap_3430sdp_defconfig  - Build for omap_3430sdp
 +
  omap_3630sdp_defconfig  - Build for omap_3630sdp
 +
  omap3_beagle_defconfig  - Build for omap3_beagle
 +
  omap3_defconfig          - Build for omap3
 +
  omap3_evm_defconfig      - Build for omap3_evm
 +
  omap3_pandora_defconfig  - Build for omap3_pandora
 +
  omap3_touchbook_defconfig - Build for omap3_touchbook
 +
  omap_4430sdp_defconfig  - Build for omap_4430sdp
 +
  omap_apollon_2420_defconfig - Build for omap_apollon_2420
 +
  omap_generic_1510_defconfig - Build for omap_generic_1510
 +
  omap_generic_1610_defconfig - Build for omap_generic_1610
 +
  omap_generic_1710_defconfig - Build for omap_generic_1710
 +
  omap_generic_2420_defconfig - Build for omap_generic_2420
 +
  omap_h2_1610_defconfig  - Build for omap_h2_1610
 +
  omap_h4_2420_defconfig  - Build for omap_h4_2420
 +
  omap_innovator_1510_defconfig - Build for omap_innovator_1510
 +
  omap_innovator_1610_defconfig - Build for omap_innovator_1610
 +
  omap_ldp_defconfig      - Build for omap_ldp
 +
  omap_osk_5912_defconfig  - Build for omap_osk_5912
 +
  omap_perseus2_730_defconfig - Build for omap_perseus2_730
 +
  omap_zoom2_defconfig    - Build for omap_zoom2
 +
  omap_zoom3_defconfig    - Build for omap_zoom3
 +
  onearm_defconfig        - Build for onearm
 +
  orion5x_defconfig        - Build for orion5x
 +
  overo_defconfig          - Build for overo
 +
  palmte_defconfig        - Build for palmte
 +
  palmtt_defconfig        - Build for palmtt
 +
  palmz71_defconfig        - Build for palmz71
 +
  palmz72_defconfig        - Build for palmz72
 +
  pcm027_defconfig        - Build for pcm027
 +
  picotux200_defconfig    - Build for picotux200
 +
  pleb_defconfig          - Build for pleb
 +
  pnx4008_defconfig        - Build for pnx4008
 +
  pxa168_defconfig        - Build for pxa168
 +
  pxa255-idp_defconfig    - Build for pxa255-idp
 +
  pxa3xx_defconfig        - Build for pxa3xx
 +
  pxa910_defconfig        - Build for pxa910
 +
  qil-a9260_defconfig      - Build for qil-a9260
 +
  realview_defconfig      - Build for realview
 +
  realview-smp_defconfig  - Build for realview-smp
 +
  rpc_defconfig            - Build for rpc
 +
  rx51_defconfig          - Build for rx51
 +
  s3c2410_defconfig        - Build for s3c2410
 +
  s3c6400_defconfig        - Build for s3c6400
 +
  s5pc100_defconfig        - Build for s5pc100
 +
  sam9_l9260_defconfig    - Build for sam9_l9260
 +
  shannon_defconfig        - Build for shannon
 +
  shark_defconfig          - Build for shark
 +
  simpad_defconfig        - Build for simpad
 +
  spitz_defconfig          - Build for spitz
 +
  stmp378x_defconfig      - Build for stmp378x
 +
  stmp37xx_defconfig      - Build for stmp37xx
 +
  sx1_defconfig            - Build for sx1
 +
  tct_hammer_defconfig    - Build for tct_hammer
 +
  trizeps4_defconfig      - Build for trizeps4
 +
  u300_defconfig          - Build for u300
 +
  u8500_defconfig          - Build for u8500
 +
  usb-a9260_defconfig      - Build for usb-a9260
 +
  usb-a9263_defconfig      - Build for usb-a9263
 +
  versatile_defconfig      - Build for versatile
 +
  viper_defconfig          - Build for viper
 +
  xcep_defconfig          - Build for xcep
 +
  yl9200_defconfig        - Build for yl9200
 +
  zeus_defconfig          - Build for zeus
 +
 +
  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
 +
  make V=2  [targets] 2 => give reason for rebuild of target
 +
  make O=dir [targets] Locate all output files in "dir", including .config
 +
  make C=1  [targets] Check all c source with $CHECK (sparse by default)
 +
  make C=2  [targets] Force check of all c source with $CHECK
 +
 +
Execute "make" or "make all" to build all targets marked with [*]
 +
For further info see the ./README file
 +
</pre>
 +
|-
 +
| 4-8
 +
| Snippet from .../arch/arm/Kconfig
 +
| <pre>
 +
205 source "init/Kconfig"
 +
206
 +
207 source "kernel/Kconfig.freezer"
 +
208
 +
209 menu "System Type"
 +
210
 +
211 config MMU
 +
212    bool "MMU-based Paged Memory Management Support"
 +
213    default y
 +
214    help
 +
215      Select if you want MMU-based virtualised addressing space
 +
216      support by paged memory management. If unsure, say 'Y'.
 +
217
 +
218 choice
 +
219    prompt "ARM system type"
 +
220    default ARCH_VERSATILE
 +
221
 +
222 config ARCH_AAEC2000
 +
223    bool "Agilent AAEC-2000 based"
 +
224    select CPU_ARM920T
 +
225    select ARM_AMBA
 +
226    select HAVE_CLK
 +
227    help
 +
228      This enables support for systems based on the Agilent AAEC-2000
 +
</pre>
 +
|-
 +
| 4-9
 +
| Snippet from .../arch/arm/mach-omap2/Kconfig
 +
| <pre>
 +
comment "OMAP Core Type"
 +
  2    depends on ARCH_OMAP2
 +
  3
 +
  4 config ARCH_OMAP2420
 +
  5    bool "OMAP2420 support"
 +
  6    depends on ARCH_OMAP2
 +
  7    select OMAP_DM_TIMER
 +
  8    select ARCH_OMAP_OTG
 +
</pre>
 +
|-
 +
| 4-9
 +
| Snippet from .../arch/arm/mach-omap1/Kconfig
 +
| <pre>
 +
comment "OMAP Core Type"
 +
  2    depends on ARCH_OMAP1
 +
  3
 +
  4 config ARCH_OMAP730
 +
  5    depends on ARCH_OMAP1
 +
  6    bool "OMAP730 Based System"
 +
  7    select CPU_ARM926T
 +
  8    select ARCH_OMAP_OTG
 +
</pre>
 +
|-
 +
| 4-10
 +
| Customized .config File Snippet
 +
| <pre>
 +
# TI OMAP Implementations
 +
229 #
 +
230 CONFIG_ARCH_OMAP_OTG=y
 +
231 # CONFIG_ARCH_OMAP1 is not set
 +
232 CONFIG_ARCH_OMAP2PLUS=y
 +
233 # CONFIG_ARCH_OMAP2 is not set
 +
234 CONFIG_ARCH_OMAP3=y
 +
235 # CONFIG_ARCH_OMAP4 is not set
 +
236
 +
237 #
 +
238 # OMAP Feature Selections
 +
239 #
 +
240 # CONFIG_OMAP_RESET_CLOCKS is not set
 +
241 # CONFIG_OMAP_MUX is not set
 +
242 # CONFIG_OMAP_MCBSP is not set
 +
243 # CONFIG_OMAP_MBOX_FWK is not set
 +
244 # CONFIG_OMAP_MPU_TIMER is not set
 +
245 CONFIG_OMAP_32K_TIMER=y
 +
246 # CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
 +
247 CONFIG_OMAP_32K_TIMER_HZ=128
 +
248 CONFIG_OMAP_DM_TIMER=y
 +
249 # CONFIG_OMAP_PM_NONE is not set
 +
250 CONFIG_OMAP_PM_NOOP=y
 +
251 CONFIG_ARCH_OMAP3430=y
 +
252 CONFIG_OMAP_PACKAGE_CBB=y
 +
253
 +
254 #
 +
255 # OMAP Board Type
 +
256 #
 +
257 CONFIG_MACH_OMAP3_BEAGLE=y
 +
258 # CONFIG_MACH_DEVKIT8000 is not set
 +
259 # CONFIG_MACH_OMAP_LDP is not set
 +
260 # CONFIG_MACH_OVERO is not set
 +
261 # CONFIG_MACH_OMAP3EVM is not set
 +
262 # CONFIG_MACH_OMAP3517EVM is not set
 +
263 # CONFIG_MACH_OMAP3_PANDORA is not set
 +
264 # CONFIG_MACH_OMAP3_TOUCHBOOK is not set
 +
265 # CONFIG_MACH_OMAP_3430SDP is not set
 +
266 # CONFIG_MACH_NOKIA_RX51 is not set
 +
267 # CONFIG_MACH_OMAP_ZOOM2 is not set
 +
268 # CONFIG_MACH_OMAP_ZOOM3 is not set
 +
269 # CONFIG_MACH_CM_T35 is not set
 +
270 # CONFIG_MACH_IGEP0020 is not set
 +
271 # CONFIG_MACH_OMAP_3630SDP is not set
 +
272 # CONFIG_OMAP3_EMU is not set
 +
273 # CONFIG_OMAP3_SDRC_AC_TIMING is not set
 +
</pre>
 +
|-
 +
| 4-11
 +
| Makefile from .../arch/arm/mach-omap2 Kernel Subdirectory
 +
| <pre>
 +
  2 # Makefile for the linux kernel.
 +
  3 #
 +
  4
 +
  5 # Common support
 +
  6 obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o
 +
  7
 +
  8 omap-2-3-common            = irq.o sdrc.o
 +
  9 hwmod-common                = omap_hwmod.o \
 +
10                      omap_hwmod_common_data.o
 +
11 prcm-common            = prcm.o powerdomain.o
 +
12 clock-common                = clock.o clock_common_data.o \
 +
13                      clockdomain.o clkt_dpll.o \
 +
14                      clkt_clksel.o
 +
15
 +
16 obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common) $(hwmod-common    )
 +
17 obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common) $(hwmod-common    )
 +
18 obj-$(CONFIG_ARCH_OMAP4) += $(prcm-common)
 +
19
 +
20 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 +
</pre>
 +
|}
 +
 +
== Chapter 5 Listings ==
 +
{|
 +
! Number
 +
! Caption
 +
! Listing
 +
|-
 +
| 5-2
 +
| Assembly File piggy.gzip.S
 +
| <pre>
 +
.section .piggydata,#alloc
 +
  2    .globl  input_data
 +
  3 input_data:
 +
  4    .incbin "arch/arm/boot/compressed/piggy.gzip"
 +
  5    .globl  input_data_end
 +
  6 input_data_end:
 +
</pre>
 +
|-
 +
| 5-4
 +
| Console Setup Code Snippet
 +
| <pre>
 +
/*
 +
838  * Set up a list of consoles.  Called from init/main.c
 +
839  */
 +
840 static int __init console_setup(char *str)
 +
841 {
 +
842    char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */
 +
843    char *s, *options, *brl_options = NULL;
 +
844    int idx;
 +
845
 +
887    return 1;
 +
888 }
 +
889 __setup("console=", console_setup);
 +
</pre>
 +
|-
 +
| 5-5
 +
| Family of _setup Macro Definitions from init.h
 +
| <pre>
 +
#define __setup_param(str, unique_id, fn, early)            \
 +
231    static const char __setup_str_##unique_id[] __initconst \
 +
232        __aligned(1) = str; \
 +
233    static struct obs_kernel_param __setup_##unique_id  \
 +
234        __used __section(.init.setup)          \
 +
235        __attribute__((aligned((sizeof(long)))))    \
 +
236        = { __setup_str_##unique_id, fn, early }
 +
237
 +
238 #define __setup(str, fn)                    \
 +
239    __setup_param(str, fn, fn, 0)
 +
</pre>
 +
|-
 +
| 5-6
 +
| Kernel Command Line Processing
 +
| <pre>
 +
204 extern struct obs_kernel_param __setup_start[], __setup_end[];
 +
205
 +
206 static int __init obsolete_checksetup(char *line)
 +
207 {
 +
208    struct obs_kernel_param *p;
 +
209    int had_early_param = 0;
 +
210
 +
211    p = __setup_start;
 +
212    do {
 +
213        int n = strlen(p->str);
 +
214        if (!strncmp(line, p->str, n)) {
 +
215            if (p->early) {
 +
216                /* Already done in parse_early_param?
 +
217                  * (Needs exact match on param part).
 +
218                  * Keep iterating, as we can have early
 +
219                  * params and __setups of same names 8( */
 +
220                if (line[n] == '\0' || line[n] == '=')
 +
221                    had_early_param = 1;
 +
222            } else if (!p->setup_func) {
 +
223                printk(KERN_WARNING "Parameter %s is obsolete,"
 +
224                        " ignored\n", p->str);
 +
225                return 1;
 +
226            } else if (p->setup_func(line + n))
 +
227                return 1;
 +
228        }
 +
229        p++;
 +
230    } while (p < __setup_end);
 +
231
 +
232    return had_early_param;
 +
233 }
 +
</pre>
 +
|-
 +
| 5-7
 +
| Example Initialization Routine
 +
| <pre>
 +
655 static int __init customize_machine(void)
 +
656 {
 +
657    /* customizes platform devices, or adds new ones */
 +
658    if (init_machine)
 +
659        init_machine();
 +
660    return 0;
 +
661 }
 +
662 arch_initcall(customize_machine);
 +
</pre>
 +
|-
 +
| 5-8
 +
| initcall Family of Macros
 +
| <pre>
 +
#define __define_initcall(level,fn,id) \
 +
171    static initcall_t __initcall_##fn##id __used \
 +
172    __attribute__((__section__(".initcall" level ".init"))) = fn
 +
173
 +
174 /*
 +
175  * Early initcalls run before initializing SMP.
 +
176  *
 +
177  * Only for built-in code, not modules.
 +
178  */
 +
179 #define early_initcall(fn)      __define_initcall("early",fn,early)
 +
180
 +
181 /*
 +
182  * A "pure" initcall has no dependencies on anything else, and purely
 +
183  * initializes variables that couldn't be statically initialized.
 +
184  *
 +
185  * This only exists for built-in code, not for modules.
 +
186  */
 +
187 #define pure_initcall(fn)      __define_initcall("0",fn,0)
 +
188
 +
189 #define core_initcall(fn)      __define_initcall("1",fn,1)
 +
190 #define core_initcall_sync(fn)      __define_initcall("1s",fn,1s)
 +
191 #define postcore_initcall(fn)      __define_initcall("2",fn,2)
 +
192 #define postcore_initcall_sync(fn)  __define_initcall("2s",fn,2s)
 +
193 #define arch_initcall(fn)      __define_initcall("3",fn,3)
 +
194 #define arch_initcall_sync(fn)      __define_initcall("3s",fn,3s)
 +
195 #define subsys_initcall(fn)    __define_initcall("4",fn,4)
 +
196 #define subsys_initcall_sync(fn)    __define_initcall("4s",fn,4s)
 +
197 #define fs_initcall(fn)        __define_initcall("5",fn,5)
 +
198 #define fs_initcall_sync(fn)        __define_initcall("5s",fn,5s)
 +
199 #define rootfs_initcall(fn)    __define_initcall("rootfs",fn,rootfs)
 +
200 #define device_initcall(fn)    __define_initcall("6",fn,6)
 +
201 #define device_initcall_sync(fn)    __define_initcall("6s",fn,6s)
 +
202 #define late_initcall(fn)      __define_initcall("7",fn,7)
 +
203 #define late_initcall_sync(fn)      __define_initcall("7s",fn,7s)
 +
204
 +
205 #define __initcall(fn) device_initcall(fn)
 +
</pre>
 +
|-
 +
| 5-9
 +
| Creation of Kernel init Thread
 +
| <pre>
 +
static noinline void __init_refok rest_init(void)
 +
425    __releases(kernel_lock)
 +
426 {
 +
427    int pid;
 +
428
 +
429    rcu_scheduler_starting();
 +
430    kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
 +
431    numa_default_policy();
 +
432    pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);
 +
433    rcu_read_lock();
 +
434    kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
 +
435    rcu_read_unlock();
 +
436    unlock_kernel();
 +
437
 +
438    /*
 +
439      * The boot idle thread must execute schedule()
 +
440      * at least once to get things moving:
 +
441      */
 +
442    init_idle_bootup_task(current);
 +
443    preempt_enable_no_resched();
 +
444    schedule();
 +
445    preempt_disable();
 +
446
 +
447    /* Call into cpu_idle with preempt disabled */
 +
448    cpu_idle();
 +
449 }
 +
</pre>
 +
|-
 +
| 5-10
 +
| Initialization via initcalls
 +
| <pre>
 +
765 extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[];
 +
766
 +
767 static void __init do_initcalls(void)
 +
768 {
 +
769    initcall_t *fn;
 +
770
 +
771    for (fn = __early_initcall_end; fn < __initcall_end; fn++)
 +
772        do_one_initcall(*fn);
 +
773
 +
774    /* Make sure there is no pending stuff from the initcall sequence */
 +
775    flush_scheduled_work();
 +
776 }
 +
</pre>
 +
|-
 +
| 5-11
 +
| Final Kernel Boot Steps from main.c
 +
| <pre>
 +
814 static noinline int init_post(void)
 +
815    __releases(kernel_lock)
 +
816 {
 +
817    /* need to finish all async __init code before freeing the memory */
 +
818    async_synchronize_full();
 +
819    free_initmem();
 +
820    unlock_kernel();
 +
821    mark_rodata_ro();
 +
822    system_state = SYSTEM_RUNNING;
 +
823    numa_default_policy();
 +
824
 +
825
 +
826    current->signal->flags |= SIGNAL_UNKILLABLE;
 +
827
 +
828    if (ramdisk_execute_command) {
 +
829        run_init_process(ramdisk_execute_command);
 +
830        printk(KERN_WARNING "Failed to execute %s\n",
 +
831                ramdisk_execute_command);
 +
832    }
 +
833
 +
834    /*
 +
835      * We try each of these until one succeeds.
 +
836      *
 +
837      * The Bourne shell can be used instead of init if we are
 +
838      * trying to recover a really broken machine.
 +
839      */
 +
840    if (execute_command) {
 +
841        run_init_process(execute_command);
 +
842        printk(KERN_WARNING "Failed to execute %s.  Attempting "
 +
843                    "defaults...\n", execute_command);
 +
844    }
 +
845    run_init_process("/sbin/init");
 +
846    run_init_process("/etc/init");
 +
847    run_init_process("/bin/init");
 +
848    run_init_process("/bin/sh");
 +
849
 +
850    panic("No init found.  Try passing init= option to kernel. "
 +
851          "See Linux Documentation/init.txt for guidance.");
 +
852 }
 +
</pre>
 +
|}
 +
== Chapter 6 Listings ==
 +
{|
 +
! Number
 +
! Caption
 +
! Listing
 +
|-
 +
| 6-2
 +
| Final Boot Steps from main.c
 +
| <pre>
 +
if (execute_command) {
 +
841        run_init_process(execute_command);
 +
842        printk(KERN_WARNING "Failed to execute %s.  Attempting "
 +
843                    "defaults...\n", execute_command);
 +
844    }
 +
845    run_init_process("/sbin/init");
 +
846    run_init_process("/etc/init");
 +
847    run_init_process("/bin/init");
 +
848    run_init_process("/bin/sh");
 +
849
 +
850    panic("No init found.  Try passing init= option to kernel. "
 +
851          "See Linux Documentation/init.txt for guidance.");
 +
</pre>
 +
|-
 +
| 6-4
 +
| Runlevel Directory Structure
 +
| <pre>
 +
lipscojl@Kratos:/etc$ ls -dl rc*
 +
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc0.d
 +
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc1.d
 +
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc2.d
 +
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc3.d
 +
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc4.d
 +
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc5.d
 +
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc6.d
 +
-rwxr-xr-x 1 root root  306 2008-08-24 14:34 rc.local
 +
drwxr-xr-x 2 root root 4096 2010-03-09 00:51 rcS.d
 +
</pre>
 +
|-
 +
| 6-4
 +
| Runlevel Directory Structure for BeagleBoard
 +
| <pre>
 +
root@beagleboard:~# ls -dl /etc/rc*
 +
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc0.d
 +
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc1.d
 +
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc2.d
 +
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc3.d
 +
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc4.d
 +
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc5.d
 +
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc6.d
 +
drwxr-xr-x 2 root root 4096 Mar 16 10:14 /etc/rcS.d
 +
</pre>
 +
|-
 +
| 6-5
 +
| Example Runlevel Directory
 +
| <pre>
 +
lipscojl@Kratos:/etc$ ls -ls rc5.d/
 +
total 4
 +
4 -rw-r--r-- 1 root root 556 2008-08-12 10:09 README
 +
0 lrwxrwxrwx 1 root root  18 2008-08-24 14:34 S10sysklogd -> ../init.d/sysklogd
 +
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:34 S11klogd -> ../init.d/klogd
 +
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:35 S12acpid -> ../init.d/acpid
 +
0 lrwxrwxrwx 1 root root  14 2008-08-24 14:46 S12dbus -> ../init.d/dbus
 +
0 lrwxrwxrwx 1 root root  22 2009-02-03 11:39 S14avahi-daemon -> ../init.d/avahi-daem                  on
 +
0 lrwxrwxrwx 1 root root  14 2008-08-29 20:58 S15bind -> ../init.d/bind
 +
0 lrwxrwxrwx 1 root root  15 2008-09-02 14:27 S15bind9 -> ../init.d/bind9
 +
0 lrwxrwxrwx 1 root root  13 2008-08-24 15:46 S16ssh -> ../init.d/ssh
 +
0 lrwxrwxrwx 1 root root  23 2008-08-29 21:08 S17mysql-ndb-mgm -> ../init.d/mysql-ndb                  -mgm
 +
0 lrwxrwxrwx 1 root root  19 2008-08-29 21:08 S18mysql-ndb -> ../init.d/mysql-ndb
 +
0 lrwxrwxrwx 1 root root  15 2008-08-29 21:08 S19mysql -> ../init.d/mysql
 +
0 lrwxrwxrwx 1 root root  14 2008-09-02 14:51 S20dhcp -> ../init.d/dhcp
 +
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:40 S20exim4 -> ../init.d/exim4
 +
0 lrwxrwxrwx 1 root root  20 2008-08-25 09:50 S20fancontrol -> ../init.d/fancontrol
 +
0 lrwxrwxrwx 1 root root  17 2008-08-25 09:50 S20hddtemp -> ../init.d/hddtemp
 +
0 lrwxrwxrwx 1 root root  25 2008-08-24 16:37 S20inetutils-inetd -> ../init.d/inetuti                  ls-inetd
 +
0 lrwxrwxrwx 1 root root  20 2008-08-24 14:40 S20nfs-common -> ../init.d/nfs-common
 +
0 lrwxrwxrwx 1 root root  27 2008-09-03 00:59 S20nfs-kernel-server -> ../init.d/nfs-k                  ernel-server
 +
0 lrwxrwxrwx 1 root root  23 2008-08-24 14:40 S20openbsd-inetd -> ../init.d/openbsd-i                  netd
 +
0 lrwxrwxrwx 1 root root  14 2010-02-12 16:30 S20pimd -> ../init.d/pimd
 +
0 lrwxrwxrwx 1 root root  25 2008-08-24 14:40 S20policycoreutils -> ../init.d/policyc                  oreutils
 +
0 lrwxrwxrwx 1 root root  15 2010-03-09 21:35 S20rsync -> ../init.d/rsync
 +
0 lrwxrwxrwx 1 root root  15 2008-09-02 14:26 S20samba -> ../init.d/samba
 +
0 lrwxrwxrwx 1 root root  23 2008-08-28 13:54 S20smartmontools -> ../init.d/smartmont                  ools
 +
0 lrwxrwxrwx 1 root root  17 2009-12-06 18:23 S20vboxdrv -> ../init.d/vboxdrv
 +
0 lrwxrwxrwx 1 root root  16 2009-01-04 02:15 S20xinetd -> ../init.d/xinetd
 +
0 lrwxrwxrwx 1 root root  13 2009-12-06 18:23 S21fam -> ../init.d/fam
 +
0 lrwxrwxrwx 1 root root  13 2008-08-24 15:54 S23ntp -> ../init.d/ntp
 +
0 lrwxrwxrwx 1 root root  13 2009-01-04 09:41 S24hal -> ../init.d/hal
 +
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:54 S25mdadm -> ../init.d/mdadm
 +
0 lrwxrwxrwx 1 root root  25 2008-09-03 00:56 S25nfs-user-server -> ../init.d/nfs-use                  r-server
 +
0 lrwxrwxrwx 1 root root  22 2009-09-06 17:46 S40dhcp3-server -> ../init.d/dhcp3-serv                  er
 +
0 lrwxrwxrwx 1 root root  24 2008-08-29 21:08 S40mythtv-backend -> ../init.d/mythtv-b                  ackend
 +
0 lrwxrwxrwx 1 root root  17 2008-09-02 20:22 S41apcupsd -> ../init.d/apcupsd
 +
0 lrwxrwxrwx 1 root root  13 2008-08-24 14:40 S89atd -> ../init.d/atd
 +
0 lrwxrwxrwx 1 root root  14 2008-08-24 14:34 S89cron -> ../init.d/cron
 +
0 lrwxrwxrwx 1 root root  17 2008-08-24 15:45 S91apache2 -> ../init.d/apache2
 +
0 lrwxrwxrwx 1 root root  18 2009-02-27 12:58 S99fail2ban -> ../init.d/fail2ban
 +
0 lrwxrwxrwx 1 root root  18 2008-08-24 14:34 S99rc.local -> ../init.d/rc.local
 +
0 lrwxrwxrwx 1 root root  19 2008-08-24 14:34 S99rmnologin -> ../init.d/rmnologin
 +
0 lrwxrwxrwx 1 root root  21 2008-09-03 00:37 S99shorewall -> /etc/init.d/shorewall
 +
0 lrwxrwxrwx 1 root root  23 2008-08-24 14:34 S99stop-bootlogd -> ../init.d/stop-boot                  logd
 +
0 lrwxrwxrwx 1 root root  18 2008-08-24 14:53 S99webmin -> /etc/init.d/webmin
 +
</pre>
 +
|-
 +
| 6-5
 +
| Example Runlevel Directory for BeagleBoard
 +
| <pre>
 +
root@beagleboard:/etc# ls -ls rc5.d/
 +
total 0
 +
0 lrwxrwxrwx 1 root root 16 Mar 16  2010 S02dbus-1 -> ../init.d/dbus-1
 +
0 lrwxrwxrwx 1 root root 20 Mar 16  2010 S05led-config -> ../init.d/led-config
 +
0 lrwxrwxrwx 1 root root 18 Mar 16  2010 S10dropbear -> ../init.d/dropbear
 +
0 lrwxrwxrwx 1 root root 14 Mar 16  2010 S20apmd -> ../init.d/apmd
 +
0 lrwxrwxrwx 1 root root 16 Mar 16  2010 S20syslog -> ../init.d/syslog
 +
0 lrwxrwxrwx 1 root root 22 Mar 16  2010 S21avahi-daemon -> ../init.d/avahi-daemon
 +
0 lrwxrwxrwx 1 root root 24 Mar 16  2010 S28NetworkManager -> ../init.d/NetworkManager
 +
0 lrwxrwxrwx 1 root root 20 Mar 16  2010 S50usb-gadget -> ../init.d/usb-gadget
 +
0 lrwxrwxrwx 1 root root 16 Mar 16  2010 S99gpe-dm -> ../init.d/gpe-dm
 +
0 lrwxrwxrwx 1 root root 19 Mar 16  2010 S99rmnologin -> ../init.d/rmnologin
 
</pre>
 
</pre>

Revision as of 00:49, 23 March 2010


I am currently an Electrical Engineering undergraduate student at Rose-Hulman Institute of Technology in Terre Haute, Indiana.


Chapter 2 Listings

Number Caption Listing
2-1 Initial Bootloader Serial Output
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
Reading boot sector
Loading u-boot.bin from mmc


U-Boot 2009.11-rc1 (Mar 15 2010 - 10:22:11)

OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
I2C:   ready
DRAM:  256 MB
NAND:  256 MiB
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial
Board revision C4
Die ID #18b2000400000000040365fa14019011
2-3 Linux Final Boot Message
Starting portmap daemon: portmap.
Cannot find fifo at /mnt/.splash/exquisite.
Cannot find fifo at /mnt/.splash/exquisite.
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
Cannot find fifo at /mnt/.splash/exquisite.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Tue Mar 16 10:36:00 GMT 2010
hwclock: can't open '/dev/misc/rtc': No such file or directory
Cannot find fifo at /mnt/.splash/exquisite.
INIT: Entering runlevel: 5
Cannot find fifo at /mnt/.splash/exquisite.
Cannot find fifo at /mnt/.splash/exquisite.
Starting system message bus: dbus.
Starting Hardware abstraction layer hald
Configuring leds:
Cannot find fifo at /mnt/.splash/exquisite.
  beagleboard::usr0: heartbeat
  beagleboard::usr1: mmc0
Starting Dropbear SSH server: Cannot find fifo at /mnt/.splash/exquisite.
dropbear.
Cannot find fifo at /mnt/.splash/exquisite.
Starting advanced power management daemon: No APM support in kernel
(failed.)
Cannot find fifo at /mnt/.splash/exquisite.
Starting syslogd/klogd: done
 * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
Cannot find fifo at /mnt/.splash/exquisite.
[ ok ]
Cannot find fifo at /mnt/.splash/exquisite.
Starting Network connection manager daemon: NetworkManager.
Cannot find fifo at /mnt/.splash/exquisite.
Loading [g_cdc]
[  165.619659] g_cdc gadget: using random self ethernet address
[  165.625793] g_cdc gadget: using random host ethernet address
[  165.649749] usb0: MAC 9a:7c:e6:11:ca:09
[  165.653625] usb0: HOST MAC 96:2f:f0:3e:85:c6
[  165.681610] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[  165.703247] g_cdc gadget: g_cdc ready
[  165.706970] musb_hdrc musb_hdrc: MUSB HDRC host driver
[  165.729461] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
[  165.782409] usb usb2: configuration #1 chosen from 1 choice
[  165.788604] hub 2-0:1.0: USB hub found
[  165.812591] hub 2-0:1.0: 1 port detected
Starting GPE display manager: gpe-dm
[  165.984588] ADDRCONF(NETDEV_UP): usb0: link is not ready
Cannot find fifo at /mnt/.splash/exquisite.
                                           Cannot find fifo at /mnt/.splash/exquisite.
      Cannot find fifo at /mnt/.splash/exquisite.

.-------.
|       |                  .-.
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution beagleboard ttyS2

Angstrom 2009.X-test-20100316 beagleboard ttyS2
2-4 Hello World, Embedded Style
#include <stdio.h>

int bss_var;        /* Uninitialized global variable */

int data_var = 1;   /* Initialized global variable */

int main(int argc, char **argv)
{
  void *stack_var;            /* Local variable on the stack */
  
  stack_var = (void *)main;   /* Don't let the compiler */
                              /* optimize it out */

  printf("Hello, World! Main is executing at %p\n", stack_var);
  printf("This address (%p) is in our stack frame\n", &stack_var);

  /* bss section contains uninitialized data */
  printf("This address (%p) is in our bss section\n", &bss_var);

  /* data section contains initializated data */
  printf("This address (%p) is in our data section\n", &data_var);

  return 0;
}

Chapter 4 Listings

Number Caption Listing
4-3 Kernel Subdirectory omap1
lipscojl@Kratos:/dump/hw/oe/linux-omap-2.6/arch/arm$ ls -l mach-omap1
total 432
-rwxrwx--x 1 brian elinux  7080 2010-03-11 23:14 board-ams-delta.c
-rwxrwx--x 1 brian elinux  9081 2010-03-11 23:14 board-fsample.c
-rwxrwx--x 1 brian elinux  2514 2010-03-11 23:14 board-generic.c
-rwxrwx--x 1 brian elinux 11159 2010-03-11 23:14 board-h2.c
-rwxrwx--x 1 brian elinux  1585 2010-03-11 23:14 board-h2.h
-rwxrwx--x 1 brian elinux  1862 2010-03-11 23:14 board-h2-mmc.c
-rwxrwx--x 1 brian elinux 10227 2010-03-11 23:14 board-h3.c
-rwxrwx--x 1 brian elinux  1550 2010-03-11 23:14 board-h3.h
-rwxrwx--x 1 brian elinux  1668 2010-03-11 23:14 board-h3-mmc.c
-rwxrwx--x 1 brian elinux  8037 2010-03-11 23:14 board-htcherald.c
-rwxrwx--x 1 brian elinux 11497 2010-03-11 23:14 board-innovator.c
-rwxrwx--x 1 brian elinux 10347 2010-03-11 23:14 board-nokia770.c
-rwxrwx--x 1 brian elinux 15686 2010-03-11 23:14 board-osk.c
-rwxrwx--x 1 brian elinux  9547 2010-03-11 23:14 board-palmte.c
-rwxrwx--x 1 brian elinux  7198 2010-03-11 23:14 board-palmtt.c
-rwxrwx--x 1 brian elinux  8167 2010-03-11 23:14 board-palmz71.c
-rwxrwx--x 1 brian elinux  7691 2010-03-11 23:14 board-perseus2.c
-rwxrwx--x 1 brian elinux 10377 2010-03-11 23:14 board-sx1.c
-rwxrwx--x 1 brian elinux  1614 2010-03-11 23:14 board-sx1-mmc.c
-rwxrwx--x 1 brian elinux  6996 2010-03-11 23:14 board-voiceblue.c
-rwxrwx--x 1 brian elinux 14005 2010-03-11 23:14 clock.c
-rwxrwx--x 1 brian elinux 24059 2010-03-11 23:14 clock_data.c
-rwxrwx--x 1 brian elinux  3880 2010-03-11 23:14 clock.h
-rwxrwx--x 1 brian elinux  7542 2010-03-11 23:14 devices.c
-rwxrwx--x 1 brian elinux   692 2010-03-11 23:14 flash.c
-rwxrwx--x 1 brian elinux  5186 2010-03-11 23:14 fpga.c
-rwxrwx--x 1 brian elinux  1025 2010-03-11 23:14 i2c.c
-rwxrwx--x 1 brian elinux  6447 2010-03-11 23:14 id.c
drwxrwx--x 3 brian elinux  4096 2010-03-11 23:14 include
-rwxrwx--x 1 brian elinux  3552 2010-03-11 23:14 io.c
-rwxrwx--x 1 brian elinux  7074 2010-03-11 23:14 irq.c
-rwxrwx--x 1 brian elinux  6527 2010-03-11 23:14 Kconfig
-rwxrwx--x 1 brian elinux 10873 2010-03-11 23:14 lcd_dma.c
-rwxrwx--x 1 brian elinux  1461 2010-03-11 23:14 leds.c
-rwxrwx--x 1 brian elinux   146 2010-03-11 23:14 leds.h
-rwxrwx--x 1 brian elinux  3222 2010-03-11 23:14 leds-h2p2-debug.c
-rwxrwx--x 1 brian elinux  1565 2010-03-11 23:14 leds-innovator.c
-rwxrwx--x 1 brian elinux  2044 2010-03-11 23:14 leds-osk.c
-rwxrwx--x 1 brian elinux  4798 2010-03-11 23:14 mailbox.c
-rwxrwx--x 1 brian elinux  1776 2010-03-11 23:14 Makefile
-rwxrwx--x 1 brian elinux    87 2010-03-11 23:14 Makefile.boot
-rwxrwx--x 1 brian elinux  5597 2010-03-11 23:14 mcbsp.c
-rwxrwx--x 1 brian elinux 20719 2010-03-11 23:14 mux.c
-rwxrwx--x 1 brian elinux  2279 2010-03-11 23:14 opp_data.c
-rwxrwx--x 1 brian elinux   705 2010-03-11 23:14 opp.h
-rwxrwx--x 1 brian elinux 19611 2010-03-11 23:14 pm.c
-rwxrwx--x 1 brian elinux  9084 2010-03-11 23:14 pm.h
-rwxrwx--x 1 brian elinux  6043 2010-03-11 23:14 serial.c
-rwxrwx--x 1 brian elinux  9282 2010-03-11 23:14 sleep.S
-rwxrwx--x 1 brian elinux  1543 2010-03-11 23:14 sram.S
-rwxrwx--x 1 brian elinux  7096 2010-03-11 23:14 time.c
-rwxrwx--x 1 brian elinux  6121 2010-03-11 23:14 timer32k.c
4-3 Kernel Subdirectory omap2
lipscojl@Kratos:/dump/hw/oe/linux-omap-2.6/arch/arm$ ls -l mach-omap2
total 1952
-rwxrwx--x 1 brian elinux   5333 2010-03-11 23:14 board-2430sdp.c
-rwxrwx--x 1 brian elinux  19575 2010-03-11 23:14 board-3430sdp.c
-rwxrwx--x 1 brian elinux   2645 2010-03-11 23:14 board-3630sdp.c
-rwxrwx--x 1 brian elinux   3467 2010-03-11 23:14 board-4430sdp.c
-rwxrwx--x 1 brian elinux   8117 2010-03-11 23:14 board-am3517evm.c
-rwxrwx--x 1 brian elinux   8653 2010-03-11 23:14 board-apollon.c
-rwxrwx--x 1 brian elinux  22418 2010-03-11 23:14 board-cm-t35.c
-rwxrwx--x 1 brian elinux  17097 2010-03-11 23:14 board-devkit8000.c
-rwxrwx--x 1 brian elinux   1763 2010-03-11 23:14 board-generic.c
-rwxrwx--x 1 brian elinux   9359 2010-03-11 23:14 board-h4.c
-rwxrwx--x 1 brian elinux  14145 2010-03-11 23:14 board-igep0020.c
-rwxrwx--x 1 brian elinux   9466 2010-03-11 23:14 board-ldp.c
-rwxrwx--x 1 brian elinux  15510 2010-03-11 23:14 board-n8x0.c
-rwxrwx--x 1 brian elinux  11863 2010-03-11 23:14 board-omap3beagle.c
-rwxrwx--x 1 brian elinux  18257 2010-03-11 23:14 board-omap3evm.c
-rwxrwx--x 1 brian elinux  15568 2010-03-11 23:14 board-omap3pandora.c
-rwxrwx--x 1 brian elinux  14241 2010-03-11 23:14 board-omap3touchbook.c
-rwxrwx--x 1 brian elinux  12529 2010-03-11 23:14 board-overo.c
-rwxrwx--x 1 brian elinux   3544 2010-03-11 23:14 board-rx51.c
-rwxrwx--x 1 brian elinux  20958 2010-03-11 23:14 board-rx51-peripherals.c
-rwxrwx--x 1 brian elinux   4914 2010-03-11 23:14 board-rx51-sdram.c
-rwxrwx--x 1 brian elinux   6955 2010-03-11 23:14 board-sdp-flash.c
-rwxrwx--x 1 brian elinux   2311 2010-03-11 23:14 board-zoom2.c
-rwxrwx--x 1 brian elinux   2002 2010-03-11 23:14 board-zoom3.c
-rwxrwx--x 1 brian elinux   3863 2010-03-11 23:14 board-zoom-debugboard.c
-rwxrwx--x 1 brian elinux   6928 2010-03-11 23:14 board-zoom-peripherals.c
-rwxrwx--x 1 brian elinux   2709 2010-03-11 23:14 clkt2xxx_apll.c
-rwxrwx--x 1 brian elinux   4517 2010-03-11 23:14 clkt2xxx_dpllcore.c
-rwxrwx--x 1 brian elinux   1339 2010-03-11 23:14 clkt2xxx_osc.c
-rwxrwx--x 1 brian elinux   1044 2010-03-11 23:14 clkt2xxx_sys.c
-rwxrwx--x 1 brian elinux   6350 2010-03-11 23:14 clkt2xxx_virt_prcm_set.c
-rwxrwx--x 1 brian elinux   3190 2010-03-11 23:14 clkt34xx_dpll3m2.c
-rwxrwx--x 1 brian elinux  10683 2010-03-11 23:14 clkt_clksel.c
-rwxrwx--x 1 brian elinux  11398 2010-03-11 23:14 clkt_dpll.c
-rwxrwx--x 1 brian elinux  57617 2010-03-11 23:14 clock2420_data.c
-rwxrwx--x 1 brian elinux   1825 2010-03-11 23:14 clock2430.c
-rwxrwx--x 1 brian elinux  60193 2010-03-11 23:14 clock2430_data.c
-rwxrwx--x 1 brian elinux   1545 2010-03-11 23:14 clock2xxx.c
-rwxrwx--x 1 brian elinux   1303 2010-03-11 23:14 clock2xxx.h
-rwxrwx--x 1 brian elinux   4195 2010-03-11 23:14 clock34xx.c
-rwxrwx--x 1 brian elinux    430 2010-03-11 23:14 clock34xx.h
-rwxrwx--x 1 brian elinux   4195 2010-03-11 23:14 clock3517.c
-rwxrwx--x 1 brian elinux    355 2010-03-11 23:14 clock3517.h
-rwxrwx--x 1 brian elinux   2027 2010-03-11 23:14 clock36xx.c
-rwxrwx--x 1 brian elinux    313 2010-03-11 23:14 clock36xx.h
-rwxrwx--x 1 brian elinux   2585 2010-03-11 23:14 clock3xxx.c
-rwxrwx--x 1 brian elinux 109556 2010-03-11 23:14 clock3xxx_data.c
-rwxrwx--x 1 brian elinux    563 2010-03-11 23:14 clock3xxx.h
-rwxrwx--x 1 brian elinux  82933 2010-03-11 23:14 clock44xx_data.c
-rwxrwx--x 1 brian elinux    445 2010-03-11 23:14 clock44xx.h
-rwxrwx--x 1 brian elinux  14082 2010-03-11 23:14 clock.c
-rwxrwx--x 1 brian elinux   1216 2010-03-11 23:14 clock_common_data.c
-rwxrwx--x 1 brian elinux  29903 2010-03-11 23:14 clockdomain.c
-rwxrwx--x 1 brian elinux   8265 2010-03-11 23:14 clockdomains44xx.h
-rwxrwx--x 1 brian elinux  24077 2010-03-11 23:14 clockdomains.h
-rwxrwx--x 1 brian elinux   5076 2010-03-11 23:14 clock.h
-rwxrwx--x 1 brian elinux  29027 2010-03-11 23:14 cm44xx.h
-rwxrwx--x 1 brian elinux   1421 2010-03-11 23:14 cm4xxx.c
-rwxrwx--x 1 brian elinux   1683 2010-03-11 23:14 cm.c
-rwxrwx--x 1 brian elinux   4467 2010-03-11 23:14 cm.h
-rwxrwx--x 1 brian elinux  14321 2010-03-11 23:14 cm-regbits-24xx.h
-rwxrwx--x 1 brian elinux  27452 2010-03-11 23:14 cm-regbits-34xx.h
-rwxrwx--x 1 brian elinux  60074 2010-03-11 23:14 cm-regbits-44xx.h
-rwxrwx--x 1 brian elinux  15102 2010-03-11 23:14 control.c
-rwxrwx--x 1 brian elinux  14037 2010-03-11 23:14 cpuidle34xx.c
-rwxrwx--x 1 brian elinux  18888 2010-03-11 23:14 devices.c
-rwxrwx--x 1 brian elinux  15462 2010-03-11 23:14 dpll3xxx.c
-rwxrwx--x 1 brian elinux   1522 2010-03-11 23:14 emu.c
-rwxrwx--x 1 brian elinux  15087 2010-03-11 23:14 gpmc.c
-rwxrwx--x 1 brian elinux   3562 2010-03-11 23:14 gpmc-nand.c
-rwxrwx--x 1 brian elinux   9348 2010-03-11 23:14 gpmc-onenand.c
-rwxrwx--x 1 brian elinux   5045 2010-03-11 23:14 gpmc-smc91x.c
-rwxrwx--x 1 brian elinux   6968 2010-03-11 23:14 hsmmc.c
-rwxrwx--x 1 brian elinux   1238 2010-03-11 23:14 hsmmc.h
-rwxrwx--x 1 brian elinux   1538 2010-03-11 23:14 i2c.c
-rwxrwx--x 1 brian elinux  10740 2010-03-11 23:14 id.c
drwxrwx--x 3 brian elinux   4096 2010-03-11 23:14 include
-rwxrwx--x 1 brian elinux   7975 2010-03-11 23:14 io.c
-rwxrwx--x 1 brian elinux   7914 2010-03-11 23:14 iommu2.c
-rwxrwx--x 1 brian elinux   7481 2010-03-11 23:14 irq.c
-rwxrwx--x 1 brian elinux   3448 2010-03-11 23:14 Kconfig
-rwxrwx--x 1 brian elinux  12216 2010-03-11 23:14 mailbox.c
-rwxrwx--x 1 brian elinux   4943 2010-03-11 23:14 Makefile
-rwxrwx--x 1 brian elinux     86 2010-03-11 23:14 Makefile.boot
-rwxrwx--x 1 brian elinux   7650 2010-03-11 23:14 mcbsp.c
-rwxrwx--x 1 brian elinux  83424 2010-03-11 23:14 mux34xx.c
-rwxrwx--x 1 brian elinux  20813 2010-03-11 23:14 mux34xx.h
-rwxrwx--x 1 brian elinux  26941 2010-03-11 23:14 mux.c
-rwxrwx--x 1 brian elinux   5089 2010-03-11 23:14 mux.h
-rwxrwx--x 1 brian elinux   2196 2010-03-11 23:14 omap3-iommu.c
-rwxrwx--x 1 brian elinux    847 2010-03-11 23:14 omap44xx-smc.S
-rwxrwx--x 1 brian elinux   1588 2010-03-11 23:14 omap-headsmp.S
-rwxrwx--x 1 brian elinux   4151 2010-03-11 23:14 omap_hwmod_2420_data.c
-rwxrwx--x 1 brian elinux   4243 2010-03-11 23:14 omap_hwmod_2430_data.c
-rwxrwx--x 1 brian elinux   5122 2010-03-11 23:14 omap_hwmod_3xxx_data.c
-rwxrwx--x 1 brian elinux  42966 2010-03-11 23:14 omap_hwmod.c
-rwxrwx--x 1 brian elinux   1796 2010-03-11 23:14 omap_hwmod_common_data.c
-rwxrwx--x 1 brian elinux    736 2010-03-11 23:14 omap_hwmod_common_data.h
-rwxrwx--x 1 brian elinux   4059 2010-03-11 23:14 omap-smp.c
-rwxrwx--x 1 brian elinux   4994 2010-03-11 23:14 opp2420_data.c
-rwxrwx--x 1 brian elinux   4914 2010-03-11 23:14 opp2430_data.c
-rwxrwx--x 1 brian elinux  15591 2010-03-11 23:14 opp2xxx.h
-rwxrwx--x 1 brian elinux  13927 2010-03-11 23:14 pm24xx.c
-rwxrwx--x 1 brian elinux  29998 2010-03-11 23:14 pm34xx.c
-rwxrwx--x 1 brian elinux  14658 2010-03-11 23:14 pm-debug.c
-rwxrwx--x 1 brian elinux   2526 2010-03-11 23:14 pm.h
-rwxrwx--x 1 brian elinux  27931 2010-03-11 23:14 powerdomain.c
-rwxrwx--x 1 brian elinux   2659 2010-03-11 23:14 powerdomains24xx.h
-rwxrwx--x 1 brian elinux   6376 2010-03-11 23:14 powerdomains34xx.h
-rwxrwx--x 1 brian elinux   8752 2010-03-11 23:14 powerdomains44xx.h
-rwxrwx--x 1 brian elinux   3730 2010-03-11 23:14 powerdomains.h
-rwxrwx--x 1 brian elinux  20105 2010-03-11 23:14 prcm.c
-rwxrwx--x 1 brian elinux  16366 2010-03-11 23:14 prcm-common.h
-rwxrwx--x 1 brian elinux  33309 2010-03-11 23:14 prm44xx.h
-rwxrwx--x 1 brian elinux  14824 2010-03-11 23:14 prm.h
-rwxrwx--x 1 brian elinux   8244 2010-03-11 23:14 prm-regbits-24xx.h
-rwxrwx--x 1 brian elinux  19792 2010-03-11 23:14 prm-regbits-34xx.h
-rwxrwx--x 1 brian elinux  80743 2010-03-11 23:14 prm-regbits-44xx.h
-rwxrwx--x 1 brian elinux   1207 2010-03-11 23:14 sdram-hynix-h8mbx00u0mer-0em.h
-rwxrwx--x 1 brian elinux   1306 2010-03-11 23:14 sdram-micron-mt46h32m32lf-6.h
-rwxrwx--x 1 brian elinux   1141 2010-03-11 23:14 sdram-numonyx-m65kxxxxam.h
-rwxrwx--x 1 brian elinux   1254 2010-03-11 23:14 sdram-qimonda-hyb18m512160af-6.h
-rwxrwx--x 1 brian elinux   4290 2010-03-11 23:14 sdrc2xxx.c
-rwxrwx--x 1 brian elinux   4676 2010-03-11 23:14 sdrc.c
-rwxrwx--x 1 brian elinux   1935 2010-03-11 23:14 sdrc.h
-rwxrwx--x 1 brian elinux  18740 2010-03-11 23:14 serial.c
-rwxrwx--x 1 brian elinux   4039 2010-03-11 23:14 sleep24xx.S
-rwxrwx--x 1 brian elinux  19716 2010-03-11 23:14 sleep34xx.S
-rwxrwx--x 1 brian elinux  10217 2010-03-11 23:14 sram242x.S
-rwxrwx--x 1 brian elinux  10217 2010-03-11 23:14 sram243x.S
-rwxrwx--x 1 brian elinux   9800 2010-03-11 23:14 sram34xx.S
-rwxrwx--x 1 brian elinux   6480 2010-03-11 23:14 timer-gp.c
-rwxrwx--x 1 brian elinux    974 2010-03-11 23:14 timer-mpu.c
-rwxrwx--x 1 brian elinux   7046 2010-03-11 23:14 usb-ehci.c
-rwxrwx--x 1 brian elinux   3089 2010-03-11 23:14 usb-musb.c
-rwxrwx--x 1 brian elinux   8813 2010-03-11 23:14 usb-tusb6010.c
4-6 Makefile Targets
lipscojl@Kratos:/dump/hw/oe/linux-omap-2.6$ make ARCH=arm help
Cleaning targets:
  clean           - Remove most generated files but keep the config and
                    enough build support to build external modules
  mrproper        - Remove all generated files + config + various backup files
  distclean       - mrproper + remove editor backup and patch files

Configuration targets:
  config          - Update current config utilising a line-oriented program
  menuconfig      - Update current config utilising a menu based program
  xconfig         - Update current config utilising a QT based front-end
  gconfig         - Update current config utilising a GTK based front-end
  oldconfig       - Update current config utilising a provided .config as base
  localmodconfig  - Update current config disabling modules not loaded
  localyesconfig  - Update current config converting local mods to core
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps
  randconfig      - New config with random answer to all options
  defconfig       - New config with default answer to all options
  allmodconfig    - New config selecting modules when possible
  allyesconfig    - New config where all options are accepted with yes
  allnoconfig     - New config where all options are answered with no

Other generic targets:
  all             - Build all targets marked with [*]
* vmlinux         - Build the bare kernel
* modules         - Build all modules
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
  firmware_install- Install all firmware to INSTALL_FW_PATH
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)
  dir/            - Build all files in dir and below
  dir/file.[ois]  - Build specified target only
  dir/file.ko     - Build module including final link
  modules_prepare - Set up for building external modules
  tags/TAGS       - Generate tags file for editors
  cscope          - Generate cscope index
  kernelrelease   - Output the release version string
  kernelversion   - Output the version stored in Makefile
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
                    (default: /dump/hw/oe/linux-omap-2.6/usr)

Static analysers
  checkstack      - Generate a list of stack hogs
  namespacecheck  - Name space analysis on compiled kernel
  versioncheck    - Sanity check on version.h usage
  includecheck    - Check for duplicate included header files
  export_report   - List the usages of all exported symbols
  headers_check   - Sanity check on exported headers
  headerdep       - Detect inclusion cycles in headers

Kernel packaging:
  rpm-pkg         - Build both source and binary RPM kernel packages
  binrpm-pkg      - Build only the binary kernel package
  deb-pkg         - Build the kernel as an deb package
  tar-pkg         - Build the kernel as an uncompressed tarball
  targz-pkg       - Build the kernel as a gzip compressed tarball
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball

Documentation targets:
 Linux kernel internal documentation in different formats:
  htmldocs        - HTML
  pdfdocs         - PDF
  psdocs          - Postscript
  xmldocs         - XML DocBook
  mandocs         - man pages
  installmandocs  - install man pages generated by mandocs
  cleandocs       - clean all generated DocBook files

Architecture specific targets (arm):
* zImage        - Compressed kernel image (arch/arm/boot/zImage)
  Image         - Uncompressed kernel image (arch/arm/boot/Image)
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)
  uImage        - U-Boot wrapped zImage
  bootpImage    - Combined zImage and initial RAM disk
                  (supply initrd image via make variable INITRD=<path>)
  install       - Install uncompressed kernel
  zinstall      - Install compressed kernel
                  Install using (your) ~/bin/installkernel or
                  (distribution) /sbin/installkernel or
                  install to $(INSTALL_PATH) and run lilo

  acs5k_defconfig          - Build for acs5k
  acs5k_tiny_defconfig     - Build for acs5k_tiny
  afeb9260_defconfig       - Build for afeb9260
  am200epdkit_defconfig    - Build for am200epdkit
  am3517_evm_defconfig     - Build for am3517_evm
  ams_delta_defconfig      - Build for ams_delta
  assabet_defconfig        - Build for assabet
  at572d940hfek_defconfig  - Build for at572d940hfek
  at91cap9adk_defconfig    - Build for at91cap9adk
  at91rm9200dk_defconfig   - Build for at91rm9200dk
  at91rm9200ek_defconfig   - Build for at91rm9200ek
  at91sam9260ek_defconfig  - Build for at91sam9260ek
  at91sam9261ek_defconfig  - Build for at91sam9261ek
  at91sam9263ek_defconfig  - Build for at91sam9263ek
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek
  at91sam9rlek_defconfig   - Build for at91sam9rlek
  ateb9200_defconfig       - Build for ateb9200
  badge4_defconfig         - Build for badge4
  bcmring_defconfig        - Build for bcmring
  cam60_defconfig          - Build for cam60
  carmeva_defconfig        - Build for carmeva
  cerfcube_defconfig       - Build for cerfcube
  cm_t35_defconfig         - Build for cm_t35
  cm_x2xx_defconfig        - Build for cm_x2xx
  cm_x300_defconfig        - Build for cm_x300
  colibri_pxa270_defconfig - Build for colibri_pxa270
  colibri_pxa300_defconfig - Build for colibri_pxa300
  collie_defconfig         - Build for collie
  corgi_defconfig          - Build for corgi
  cpu9260_defconfig        - Build for cpu9260
  cpu9g20_defconfig        - Build for cpu9g20
  cpuat91_defconfig        - Build for cpuat91
  csb337_defconfig         - Build for csb337
  csb637_defconfig         - Build for csb637
  da8xx_omapl_defconfig    - Build for da8xx_omapl
  davinci_all_defconfig    - Build for davinci_all
  devkit8000_defconfig     - Build for devkit8000
  dove_defconfig           - Build for dove
  ebsa110_defconfig        - Build for ebsa110
  ecbat91_defconfig        - Build for ecbat91
  edb7211_defconfig        - Build for edb7211
  em_x270_defconfig        - Build for em_x270
  ep93xx_defconfig         - Build for ep93xx
  eseries_pxa_defconfig    - Build for eseries_pxa
  ezx_defconfig            - Build for ezx
  footbridge_defconfig     - Build for footbridge
  fortunet_defconfig       - Build for fortunet
  h3600_defconfig          - Build for h3600
  h5000_defconfig          - Build for h5000
  h7201_defconfig          - Build for h7201
  h7202_defconfig          - Build for h7202
  hackkit_defconfig        - Build for hackkit
  htcherald_defconfig      - Build for htcherald
  igep0020_defconfig       - Build for igep0020
  integrator_defconfig     - Build for integrator
  iop13xx_defconfig        - Build for iop13xx
  iop32x_defconfig         - Build for iop32x
  iop33x_defconfig         - Build for iop33x
  ixp2000_defconfig        - Build for ixp2000
  ixp23xx_defconfig        - Build for ixp23xx
  ixp4xx_defconfig         - Build for ixp4xx
  jornada720_defconfig     - Build for jornada720
  kafa_defconfig           - Build for kafa
  kb9202_defconfig         - Build for kb9202
  kirkwood_defconfig       - Build for kirkwood
  ks8695_defconfig         - Build for ks8695
  lart_defconfig           - Build for lart
  loki_defconfig           - Build for loki
  lpd270_defconfig         - Build for lpd270
  lpd7a400_defconfig       - Build for lpd7a400
  lpd7a404_defconfig       - Build for lpd7a404
  lubbock_defconfig        - Build for lubbock
  lusl7200_defconfig       - Build for lusl7200
  magician_defconfig       - Build for magician
  mainstone_defconfig      - Build for mainstone
  mini2440_defconfig       - Build for mini2440
  msm_defconfig            - Build for msm
  mv78xx0_defconfig        - Build for mv78xx0
  mx1ads_defconfig         - Build for mx1ads
  mx1_defconfig            - Build for mx1
  mx21_defconfig           - Build for mx21
  mx27_defconfig           - Build for mx27
  mx31pdk_defconfig        - Build for mx31pdk
  mx3_defconfig            - Build for mx3
  n770_defconfig           - Build for n770
  n8x0_defconfig           - Build for n8x0
  neocore926_defconfig     - Build for neocore926
  neponset_defconfig       - Build for neponset
  netwinder_defconfig      - Build for netwinder
  netx_defconfig           - Build for netx
  nhk8815_defconfig        - Build for nhk8815
  ns9xxx_defconfig         - Build for ns9xxx
  nuc910_defconfig         - Build for nuc910
  nuc950_defconfig         - Build for nuc950
  nuc960_defconfig         - Build for nuc960
  omap_2430sdp_defconfig   - Build for omap_2430sdp
  omap_3430sdp_defconfig   - Build for omap_3430sdp
  omap_3630sdp_defconfig   - Build for omap_3630sdp
  omap3_beagle_defconfig   - Build for omap3_beagle
  omap3_defconfig          - Build for omap3
  omap3_evm_defconfig      - Build for omap3_evm
  omap3_pandora_defconfig  - Build for omap3_pandora
  omap3_touchbook_defconfig - Build for omap3_touchbook
  omap_4430sdp_defconfig   - Build for omap_4430sdp
  omap_apollon_2420_defconfig - Build for omap_apollon_2420
  omap_generic_1510_defconfig - Build for omap_generic_1510
  omap_generic_1610_defconfig - Build for omap_generic_1610
  omap_generic_1710_defconfig - Build for omap_generic_1710
  omap_generic_2420_defconfig - Build for omap_generic_2420
  omap_h2_1610_defconfig   - Build for omap_h2_1610
  omap_h4_2420_defconfig   - Build for omap_h4_2420
  omap_innovator_1510_defconfig - Build for omap_innovator_1510
  omap_innovator_1610_defconfig - Build for omap_innovator_1610
  omap_ldp_defconfig       - Build for omap_ldp
  omap_osk_5912_defconfig  - Build for omap_osk_5912
  omap_perseus2_730_defconfig - Build for omap_perseus2_730
  omap_zoom2_defconfig     - Build for omap_zoom2
  omap_zoom3_defconfig     - Build for omap_zoom3
  onearm_defconfig         - Build for onearm
  orion5x_defconfig        - Build for orion5x
  overo_defconfig          - Build for overo
  palmte_defconfig         - Build for palmte
  palmtt_defconfig         - Build for palmtt
  palmz71_defconfig        - Build for palmz71
  palmz72_defconfig        - Build for palmz72
  pcm027_defconfig         - Build for pcm027
  picotux200_defconfig     - Build for picotux200
  pleb_defconfig           - Build for pleb
  pnx4008_defconfig        - Build for pnx4008
  pxa168_defconfig         - Build for pxa168
  pxa255-idp_defconfig     - Build for pxa255-idp
  pxa3xx_defconfig         - Build for pxa3xx
  pxa910_defconfig         - Build for pxa910
  qil-a9260_defconfig      - Build for qil-a9260
  realview_defconfig       - Build for realview
  realview-smp_defconfig   - Build for realview-smp
  rpc_defconfig            - Build for rpc
  rx51_defconfig           - Build for rx51
  s3c2410_defconfig        - Build for s3c2410
  s3c6400_defconfig        - Build for s3c6400
  s5pc100_defconfig        - Build for s5pc100
  sam9_l9260_defconfig     - Build for sam9_l9260
  shannon_defconfig        - Build for shannon
  shark_defconfig          - Build for shark
  simpad_defconfig         - Build for simpad
  spitz_defconfig          - Build for spitz
  stmp378x_defconfig       - Build for stmp378x
  stmp37xx_defconfig       - Build for stmp37xx
  sx1_defconfig            - Build for sx1
  tct_hammer_defconfig     - Build for tct_hammer
  trizeps4_defconfig       - Build for trizeps4
  u300_defconfig           - Build for u300
  u8500_defconfig          - Build for u8500
  usb-a9260_defconfig      - Build for usb-a9260
  usb-a9263_defconfig      - Build for usb-a9263
  versatile_defconfig      - Build for versatile
  viper_defconfig          - Build for viper
  xcep_defconfig           - Build for xcep
  yl9200_defconfig         - Build for yl9200
  zeus_defconfig           - Build for zeus

  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
  make V=2   [targets] 2 => give reason for rebuild of target
  make O=dir [targets] Locate all output files in "dir", including .config
  make C=1   [targets] Check all c source with $CHECK (sparse by default)
  make C=2   [targets] Force check of all c source with $CHECK

Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
4-8 Snippet from .../arch/arm/Kconfig
 205 source "init/Kconfig"
 206
 207 source "kernel/Kconfig.freezer"
 208
 209 menu "System Type"
 210
 211 config MMU
 212     bool "MMU-based Paged Memory Management Support"
 213     default y
 214     help
 215       Select if you want MMU-based virtualised addressing space
 216       support by paged memory management. If unsure, say 'Y'.
 217
 218 choice
 219     prompt "ARM system type"
 220     default ARCH_VERSATILE
 221
 222 config ARCH_AAEC2000
 223     bool "Agilent AAEC-2000 based"
 224     select CPU_ARM920T
 225     select ARM_AMBA
 226     select HAVE_CLK
 227     help
 228       This enables support for systems based on the Agilent AAEC-2000
4-9 Snippet from .../arch/arm/mach-omap2/Kconfig
comment "OMAP Core Type"
  2     depends on ARCH_OMAP2
  3
  4 config ARCH_OMAP2420
  5     bool "OMAP2420 support"
  6     depends on ARCH_OMAP2
  7     select OMAP_DM_TIMER
  8     select ARCH_OMAP_OTG
4-9 Snippet from .../arch/arm/mach-omap1/Kconfig
comment "OMAP Core Type"
  2     depends on ARCH_OMAP1
  3
  4 config ARCH_OMAP730
  5     depends on ARCH_OMAP1
  6     bool "OMAP730 Based System"
  7     select CPU_ARM926T
  8     select ARCH_OMAP_OTG
4-10 Customized .config File Snippet
# TI OMAP Implementations
 229 #
 230 CONFIG_ARCH_OMAP_OTG=y
 231 # CONFIG_ARCH_OMAP1 is not set
 232 CONFIG_ARCH_OMAP2PLUS=y
 233 # CONFIG_ARCH_OMAP2 is not set
 234 CONFIG_ARCH_OMAP3=y
 235 # CONFIG_ARCH_OMAP4 is not set
 236
 237 #
 238 # OMAP Feature Selections
 239 #
 240 # CONFIG_OMAP_RESET_CLOCKS is not set
 241 # CONFIG_OMAP_MUX is not set
 242 # CONFIG_OMAP_MCBSP is not set
 243 # CONFIG_OMAP_MBOX_FWK is not set
 244 # CONFIG_OMAP_MPU_TIMER is not set
 245 CONFIG_OMAP_32K_TIMER=y
 246 # CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
 247 CONFIG_OMAP_32K_TIMER_HZ=128
 248 CONFIG_OMAP_DM_TIMER=y
 249 # CONFIG_OMAP_PM_NONE is not set
 250 CONFIG_OMAP_PM_NOOP=y
 251 CONFIG_ARCH_OMAP3430=y
 252 CONFIG_OMAP_PACKAGE_CBB=y
 253
 254 #
 255 # OMAP Board Type
 256 #
 257 CONFIG_MACH_OMAP3_BEAGLE=y
 258 # CONFIG_MACH_DEVKIT8000 is not set
 259 # CONFIG_MACH_OMAP_LDP is not set
 260 # CONFIG_MACH_OVERO is not set
 261 # CONFIG_MACH_OMAP3EVM is not set
 262 # CONFIG_MACH_OMAP3517EVM is not set
 263 # CONFIG_MACH_OMAP3_PANDORA is not set
 264 # CONFIG_MACH_OMAP3_TOUCHBOOK is not set
 265 # CONFIG_MACH_OMAP_3430SDP is not set
 266 # CONFIG_MACH_NOKIA_RX51 is not set
 267 # CONFIG_MACH_OMAP_ZOOM2 is not set
 268 # CONFIG_MACH_OMAP_ZOOM3 is not set
 269 # CONFIG_MACH_CM_T35 is not set
 270 # CONFIG_MACH_IGEP0020 is not set
 271 # CONFIG_MACH_OMAP_3630SDP is not set
 272 # CONFIG_OMAP3_EMU is not set
 273 # CONFIG_OMAP3_SDRC_AC_TIMING is not set
4-11 Makefile from .../arch/arm/mach-omap2 Kernel Subdirectory
  2 # Makefile for the linux kernel.
  3 #
  4
  5 # Common support
  6 obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o
  7
  8 omap-2-3-common             = irq.o sdrc.o
  9 hwmod-common                = omap_hwmod.o \
 10                       omap_hwmod_common_data.o
 11 prcm-common             = prcm.o powerdomain.o
 12 clock-common                = clock.o clock_common_data.o \
 13                       clockdomain.o clkt_dpll.o \
 14                       clkt_clksel.o
 15
 16 obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common) $(hwmod-common    )
 17 obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common) $(hwmod-common    )
 18 obj-$(CONFIG_ARCH_OMAP4) += $(prcm-common)
 19
 20 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 

Chapter 5 Listings

Number Caption Listing
5-2 Assembly File piggy.gzip.S
 .section .piggydata,#alloc
  2     .globl  input_data
  3 input_data:
  4     .incbin "arch/arm/boot/compressed/piggy.gzip"
  5     .globl  input_data_end
  6 input_data_end:
5-4 Console Setup Code Snippet
/*
 838  * Set up a list of consoles.  Called from init/main.c
 839  */
 840 static int __init console_setup(char *str)
 841 {
 842     char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */
 843     char *s, *options, *brl_options = NULL;
 844     int idx;
 845
 887     return 1;
 888 }
 889 __setup("console=", console_setup);
5-5 Family of _setup Macro Definitions from init.h
 #define __setup_param(str, unique_id, fn, early)            \
231     static const char __setup_str_##unique_id[] __initconst \
232         __aligned(1) = str; \
233     static struct obs_kernel_param __setup_##unique_id  \
234         __used __section(.init.setup)           \
235         __attribute__((aligned((sizeof(long)))))    \
236         = { __setup_str_##unique_id, fn, early }
237
238 #define __setup(str, fn)                    \
239     __setup_param(str, fn, fn, 0)
5-6 Kernel Command Line Processing
204 extern struct obs_kernel_param __setup_start[], __setup_end[];
205
206 static int __init obsolete_checksetup(char *line)
207 {
208     struct obs_kernel_param *p;
209     int had_early_param = 0;
210
211     p = __setup_start;
212     do {
213         int n = strlen(p->str);
214         if (!strncmp(line, p->str, n)) {
215             if (p->early) {
216                 /* Already done in parse_early_param?
217                  * (Needs exact match on param part).
218                  * Keep iterating, as we can have early
219                  * params and __setups of same names 8( */
220                 if (line[n] == '\0' || line[n] == '=')
221                     had_early_param = 1;
222             } else if (!p->setup_func) {
223                 printk(KERN_WARNING "Parameter %s is obsolete,"
224                        " ignored\n", p->str);
225                 return 1;
226             } else if (p->setup_func(line + n))
227                 return 1;
228         }
229         p++;
230     } while (p < __setup_end);
231
232     return had_early_param;
233 }
5-7 Example Initialization Routine
655 static int __init customize_machine(void)
656 {
657     /* customizes platform devices, or adds new ones */
658     if (init_machine)
659         init_machine();
660     return 0;
661 }
662 arch_initcall(customize_machine);
5-8 initcall Family of Macros
#define __define_initcall(level,fn,id) \
171     static initcall_t __initcall_##fn##id __used \
172     __attribute__((__section__(".initcall" level ".init"))) = fn
173
174 /*
175  * Early initcalls run before initializing SMP.
176  *
177  * Only for built-in code, not modules.
178  */
179 #define early_initcall(fn)      __define_initcall("early",fn,early)
180
181 /*
182  * A "pure" initcall has no dependencies on anything else, and purely
183  * initializes variables that couldn't be statically initialized.
184  *
185  * This only exists for built-in code, not for modules.
186  */
187 #define pure_initcall(fn)       __define_initcall("0",fn,0)
188
189 #define core_initcall(fn)       __define_initcall("1",fn,1)
190 #define core_initcall_sync(fn)      __define_initcall("1s",fn,1s)
191 #define postcore_initcall(fn)       __define_initcall("2",fn,2)
192 #define postcore_initcall_sync(fn)  __define_initcall("2s",fn,2s)
193 #define arch_initcall(fn)       __define_initcall("3",fn,3)
194 #define arch_initcall_sync(fn)      __define_initcall("3s",fn,3s)
195 #define subsys_initcall(fn)     __define_initcall("4",fn,4)
196 #define subsys_initcall_sync(fn)    __define_initcall("4s",fn,4s)
197 #define fs_initcall(fn)         __define_initcall("5",fn,5)
198 #define fs_initcall_sync(fn)        __define_initcall("5s",fn,5s)
199 #define rootfs_initcall(fn)     __define_initcall("rootfs",fn,rootfs)
200 #define device_initcall(fn)     __define_initcall("6",fn,6)
201 #define device_initcall_sync(fn)    __define_initcall("6s",fn,6s)
202 #define late_initcall(fn)       __define_initcall("7",fn,7)
203 #define late_initcall_sync(fn)      __define_initcall("7s",fn,7s)
204
205 #define __initcall(fn) device_initcall(fn)
5-9 Creation of Kernel init Thread
 static noinline void __init_refok rest_init(void)
425     __releases(kernel_lock)
426 {
427     int pid;
428
429     rcu_scheduler_starting();
430     kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
431     numa_default_policy();
432     pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);
433     rcu_read_lock();
434     kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
435     rcu_read_unlock();
436     unlock_kernel();
437
438     /*
439      * The boot idle thread must execute schedule()
440      * at least once to get things moving:
441      */
442     init_idle_bootup_task(current);
443     preempt_enable_no_resched();
444     schedule();
445     preempt_disable();
446
447     /* Call into cpu_idle with preempt disabled */
448     cpu_idle();
449 }
5-10 Initialization via initcalls
765 extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[];
766
767 static void __init do_initcalls(void)
768 {
769     initcall_t *fn;
770
771     for (fn = __early_initcall_end; fn < __initcall_end; fn++)
772         do_one_initcall(*fn);
773
774     /* Make sure there is no pending stuff from the initcall sequence */
775     flush_scheduled_work();
776 }
5-11 Final Kernel Boot Steps from main.c
814 static noinline int init_post(void)
815     __releases(kernel_lock)
816 {
817     /* need to finish all async __init code before freeing the memory */
818     async_synchronize_full();
819     free_initmem();
820     unlock_kernel();
821     mark_rodata_ro();
822     system_state = SYSTEM_RUNNING;
823     numa_default_policy();
824
825
826     current->signal->flags |= SIGNAL_UNKILLABLE;
827
828     if (ramdisk_execute_command) {
829         run_init_process(ramdisk_execute_command);
830         printk(KERN_WARNING "Failed to execute %s\n",
831                 ramdisk_execute_command);
832     }
833
834     /*
835      * We try each of these until one succeeds.
836      *
837      * The Bourne shell can be used instead of init if we are
838      * trying to recover a really broken machine.
839      */
840     if (execute_command) {
841         run_init_process(execute_command);
842         printk(KERN_WARNING "Failed to execute %s.  Attempting "
843                     "defaults...\n", execute_command);
844     }
845     run_init_process("/sbin/init");
846     run_init_process("/etc/init");
847     run_init_process("/bin/init");
848     run_init_process("/bin/sh");
849
850     panic("No init found.  Try passing init= option to kernel. "
851           "See Linux Documentation/init.txt for guidance.");
852 }

Chapter 6 Listings

Number Caption Listing
6-2 Final Boot Steps from main.c
 if (execute_command) {
841         run_init_process(execute_command);
842         printk(KERN_WARNING "Failed to execute %s.  Attempting "
843                     "defaults...\n", execute_command);
844     }
845     run_init_process("/sbin/init");
846     run_init_process("/etc/init");
847     run_init_process("/bin/init");
848     run_init_process("/bin/sh");
849
850     panic("No init found.  Try passing init= option to kernel. "
851           "See Linux Documentation/init.txt for guidance.");
6-4 Runlevel Directory Structure
lipscojl@Kratos:/etc$ ls -dl rc*
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc0.d
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc1.d
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc2.d
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc3.d
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc4.d
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc5.d
drwxr-xr-x 2 root root 4096 2010-03-09 21:35 rc6.d
-rwxr-xr-x 1 root root  306 2008-08-24 14:34 rc.local
drwxr-xr-x 2 root root 4096 2010-03-09 00:51 rcS.d
6-4 Runlevel Directory Structure for BeagleBoard
root@beagleboard:~# ls -dl /etc/rc*
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc0.d
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc1.d
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc2.d
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc3.d
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc4.d
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc5.d
drwxr-xr-x 2 root root 4096 Mar 16  2010 /etc/rc6.d
drwxr-xr-x 2 root root 4096 Mar 16 10:14 /etc/rcS.d
6-5 Example Runlevel Directory
lipscojl@Kratos:/etc$ ls -ls rc5.d/
total 4
4 -rw-r--r-- 1 root root 556 2008-08-12 10:09 README
0 lrwxrwxrwx 1 root root  18 2008-08-24 14:34 S10sysklogd -> ../init.d/sysklogd
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:34 S11klogd -> ../init.d/klogd
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:35 S12acpid -> ../init.d/acpid
0 lrwxrwxrwx 1 root root  14 2008-08-24 14:46 S12dbus -> ../init.d/dbus
0 lrwxrwxrwx 1 root root  22 2009-02-03 11:39 S14avahi-daemon -> ../init.d/avahi-daem                   on
0 lrwxrwxrwx 1 root root  14 2008-08-29 20:58 S15bind -> ../init.d/bind
0 lrwxrwxrwx 1 root root  15 2008-09-02 14:27 S15bind9 -> ../init.d/bind9
0 lrwxrwxrwx 1 root root  13 2008-08-24 15:46 S16ssh -> ../init.d/ssh
0 lrwxrwxrwx 1 root root  23 2008-08-29 21:08 S17mysql-ndb-mgm -> ../init.d/mysql-ndb                   -mgm
0 lrwxrwxrwx 1 root root  19 2008-08-29 21:08 S18mysql-ndb -> ../init.d/mysql-ndb
0 lrwxrwxrwx 1 root root  15 2008-08-29 21:08 S19mysql -> ../init.d/mysql
0 lrwxrwxrwx 1 root root  14 2008-09-02 14:51 S20dhcp -> ../init.d/dhcp
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:40 S20exim4 -> ../init.d/exim4
0 lrwxrwxrwx 1 root root  20 2008-08-25 09:50 S20fancontrol -> ../init.d/fancontrol
0 lrwxrwxrwx 1 root root  17 2008-08-25 09:50 S20hddtemp -> ../init.d/hddtemp
0 lrwxrwxrwx 1 root root  25 2008-08-24 16:37 S20inetutils-inetd -> ../init.d/inetuti                   ls-inetd
0 lrwxrwxrwx 1 root root  20 2008-08-24 14:40 S20nfs-common -> ../init.d/nfs-common
0 lrwxrwxrwx 1 root root  27 2008-09-03 00:59 S20nfs-kernel-server -> ../init.d/nfs-k                   ernel-server
0 lrwxrwxrwx 1 root root  23 2008-08-24 14:40 S20openbsd-inetd -> ../init.d/openbsd-i                   netd
0 lrwxrwxrwx 1 root root  14 2010-02-12 16:30 S20pimd -> ../init.d/pimd
0 lrwxrwxrwx 1 root root  25 2008-08-24 14:40 S20policycoreutils -> ../init.d/policyc                   oreutils
0 lrwxrwxrwx 1 root root  15 2010-03-09 21:35 S20rsync -> ../init.d/rsync
0 lrwxrwxrwx 1 root root  15 2008-09-02 14:26 S20samba -> ../init.d/samba
0 lrwxrwxrwx 1 root root  23 2008-08-28 13:54 S20smartmontools -> ../init.d/smartmont                   ools
0 lrwxrwxrwx 1 root root  17 2009-12-06 18:23 S20vboxdrv -> ../init.d/vboxdrv
0 lrwxrwxrwx 1 root root  16 2009-01-04 02:15 S20xinetd -> ../init.d/xinetd
0 lrwxrwxrwx 1 root root  13 2009-12-06 18:23 S21fam -> ../init.d/fam
0 lrwxrwxrwx 1 root root  13 2008-08-24 15:54 S23ntp -> ../init.d/ntp
0 lrwxrwxrwx 1 root root  13 2009-01-04 09:41 S24hal -> ../init.d/hal
0 lrwxrwxrwx 1 root root  15 2008-08-24 14:54 S25mdadm -> ../init.d/mdadm
0 lrwxrwxrwx 1 root root  25 2008-09-03 00:56 S25nfs-user-server -> ../init.d/nfs-use                   r-server
0 lrwxrwxrwx 1 root root  22 2009-09-06 17:46 S40dhcp3-server -> ../init.d/dhcp3-serv                   er
0 lrwxrwxrwx 1 root root  24 2008-08-29 21:08 S40mythtv-backend -> ../init.d/mythtv-b                   ackend
0 lrwxrwxrwx 1 root root  17 2008-09-02 20:22 S41apcupsd -> ../init.d/apcupsd
0 lrwxrwxrwx 1 root root  13 2008-08-24 14:40 S89atd -> ../init.d/atd
0 lrwxrwxrwx 1 root root  14 2008-08-24 14:34 S89cron -> ../init.d/cron
0 lrwxrwxrwx 1 root root  17 2008-08-24 15:45 S91apache2 -> ../init.d/apache2
0 lrwxrwxrwx 1 root root  18 2009-02-27 12:58 S99fail2ban -> ../init.d/fail2ban
0 lrwxrwxrwx 1 root root  18 2008-08-24 14:34 S99rc.local -> ../init.d/rc.local
0 lrwxrwxrwx 1 root root  19 2008-08-24 14:34 S99rmnologin -> ../init.d/rmnologin
0 lrwxrwxrwx 1 root root  21 2008-09-03 00:37 S99shorewall -> /etc/init.d/shorewall
0 lrwxrwxrwx 1 root root  23 2008-08-24 14:34 S99stop-bootlogd -> ../init.d/stop-boot                   logd
0 lrwxrwxrwx 1 root root  18 2008-08-24 14:53 S99webmin -> /etc/init.d/webmin
6-5 Example Runlevel Directory for BeagleBoard
root@beagleboard:/etc# ls -ls rc5.d/
total 0
0 lrwxrwxrwx 1 root root 16 Mar 16  2010 S02dbus-1 -> ../init.d/dbus-1
0 lrwxrwxrwx 1 root root 20 Mar 16  2010 S05led-config -> ../init.d/led-config
0 lrwxrwxrwx 1 root root 18 Mar 16  2010 S10dropbear -> ../init.d/dropbear
0 lrwxrwxrwx 1 root root 14 Mar 16  2010 S20apmd -> ../init.d/apmd
0 lrwxrwxrwx 1 root root 16 Mar 16  2010 S20syslog -> ../init.d/syslog
0 lrwxrwxrwx 1 root root 22 Mar 16  2010 S21avahi-daemon -> ../init.d/avahi-daemon
0 lrwxrwxrwx 1 root root 24 Mar 16  2010 S28NetworkManager -> ../init.d/NetworkManager
0 lrwxrwxrwx 1 root root 20 Mar 16  2010 S50usb-gadget -> ../init.d/usb-gadget
0 lrwxrwxrwx 1 root root 16 Mar 16  2010 S99gpe-dm -> ../init.d/gpe-dm
0 lrwxrwxrwx 1 root root 19 Mar 16  2010 S99rmnologin -> ../init.d/rmnologin