Difference between revisions of "EBC Listings for Embedded Linux Primer"
m |
m |
||
Line 3: | Line 3: | ||
Here are the listing from the Embedded Linux Primer as done on the Beagle. | Here are the listing from the Embedded Linux Primer as done on the Beagle. | ||
− | [[ECE597 Listings for Embedded Linux Primer Chapter 2]] | + | * [[ECE597 Listings for Embedded Linux Primer Chapter 2]] |
− | [[ECE597 Listings for Embedded Linux Primer Chapter 4]] | + | * [[ECE597 Listings for Embedded Linux Primer Chapter 4]] |
− | + | * [[ECE597 Listings for Embedded Linux Primer Chapter 5]] | |
− | + | * [[ECE597 Listings for Embedded Linux Primer Chapter 6]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Chapter 5 == | == Chapter 5 == |
Revision as of 09:26, 22 March 2010
Here are the listing from the Embedded Linux Primer as done on the Beagle.
- ECE597 Listings for Embedded Linux Primer Chapter 2
- ECE597 Listings for Embedded Linux Primer Chapter 4
- ECE597 Listings for Embedded Linux Primer Chapter 5
- ECE597 Listings for Embedded Linux Primer Chapter 6
Chapter 5
Number | Page | Caption | Listing |
---|---|---|---|
5-1 | 5-2 | Final Kernel Build Sequence: ARM/BeagleBoard | $ export OETREE="${HOME}/oe" $ PATH=${OETREE}/angstrom-dev/staging/i686-linux/usr/bin/:${PATH} $ PATH=${OETREE}/angstrom-dev/cross/armv7a/bin/:${PATH} $ make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage ... < many build steps omitted for clarity > LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map OBJCOPY arch/arm/boot/Image Kernel: arch/arm/boot/Image is ready GZIP arch/arm/boot/compressed/piggy.gz AS arch/arm/boot/compressed/piggy.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-2.6.29-omap1 Created: Tue Mar 9 12:58:27 2010 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2991236 Bytes = 2921.13 kB = 2.85 MB Load Address: 0x80008000 Entry Point: 0x80008000 Image arch/arm/boot/uImage is ready |
5-2 | 5-5 | Assembly File .../arch/arm/boot/compressed/piggy.S | .section .piggydata,#alloc .globl input_data input_data: .incbin "arch/arm/boot/compressed/piggy.gz" .globl input_data_end input_data_end: |
5-3 | 5-7 | Final Kernel Build Sequence: ARM/BeagleBoard | reading uImage 2996196 bytes read ## Booting kernel from Legacy Image at 80300000 ... Image Name: Angstrom/2.6.29/beagleboard Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2996132 Bytes = 2.9 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux.................................................................................................. [ 0.000000] Linux version 2.6.29-omap1 (koen@dominion) (gcc version 4.3.3 (GCC) ) #1 PREEMPT Wed Oct 21 13:11:52 9 [ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c5387f [ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache [ 0.000000] Machine: OMAP3 Beagle Board [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] OMAP3430 ES3.1 [ 0.000000] SRAM: Mapped pa 0x40200000 to va 0xd7000000 size: 0x100000 [ 0.000000] Reserving 14680064 bytes SDRAM for VRAM [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 [ 0.000000] Kernel command line: console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootw0 [ 0.000000] Clocking rate (Crystal/DPLL/ARM core): 26.0/332/720 MHz [ 0.000000] GPMC revision 5.0 [ 0.000000] IRQ: Found an INTC at 0xd8200000 (revision 4.0) with 96 interrupts [ 0.000000] Total of 96 interrupts on 1 active controller [ 0.000000] OMAP34xx GPIO hardware version 2.5 [ 0.000000] PID hash table entries: 1024 (order: 10, 4096 bytes) [ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz [ 0.000000] Console: colour dummy device 80x30 [ 0.000000] console [tty0] enabled [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Memory: 128MB 128MB = 256MB total [ 0.000000] Memory: 238848KB available (5632K code, 576K data, 204K init) [ 0.000000] Calibrating delay loop... 750.98 BogoMIPS (lpj=2932736) [ 0.000000] Mount-cache hash table entries: 512 [ 0.000000] CPU: Testing write buffer coherency: ok [ 0.000000] net_namespace: 1036 bytes [ 0.000000] regulator: core version 0.5 [ 0.000000] NET: Registered protocol family 16 [ 0.000000] GPIO-156 autorequested [ 0.000000] GPIO-159 autorequested [ 0.000000] Found NAND on CS0 [ 0.000000] Registering NAND on CS0 [ 17.966888] OMAP DMA hardware revision 4.0 [ 18.000305] bio: create slab <bio-0> at 0 [ 18.061981] OMAP DSS rev 2.0 [ 18.062103] OMAP DISPC rev 3.0 [ 18.062133] OMAP VENC rev 2 [ 18.062255] OMAP DSI rev 1.0 [ 18.078216] i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz [ 18.081542] twl4030: PIH (irq 7) chaining IRQs 368..375 [ 18.081604] twl4030: power (irq 373) chaining IRQs 376..383 [ 18.082092] twl4030: gpio (irq 368) chaining IRQs 384..401 [ 18.084442] regulator: VMMC1: 1850 <--> 3150 mV normal standby [ 18.085235] regulator: VDAC: 1800 mV normal standby [ 18.085968] regulator: VUSB1V5: 1500 <--> 0 mV normal standby [ 18.086822] regulator: VUSB1V8: 1800 <--> 0 mV normal standby [ 18.087585] regulator: VUSB3V1: 3100 <--> 0 mV normal standby [ 18.088287] regulator: VPLL2: 1800 mV normal standby [ 18.089050] regulator: VMMC2: 2800 <--> 3150 mV normal standby [ 18.089813] regulator: VSIM: 1800 <--> 3000 mV normal standby [ 18.089996] i2c_omap i2c_omap.2: bus 2 rev3.12 at 400 kHz [ 18.102722] i2c_omap i2c_omap.3: bus 3 rev3.12 at 100 kHz [ 18.104492] SCSI subsystem initialized [ 18.107452] twl4030_usb twl4030_usb: Initialized TWL4030 USB module [ 18.108764] usbcore: registered new interface driver usbfs [ 18.109252] usbcore: registered new interface driver hub [ 18.109619] usbcore: registered new device driver usb [ 18.112121] Bluetooth: Core ver 2.14 [ 18.112548] NET: Registered protocol family 31 [ 18.112579] Bluetooth: HCI device and connection manager initialized [ 18.112640] Bluetooth: HCI socket layer initialized [ 18.113250] cfg80211: Using static regulatory domain info [ 18.113281] cfg80211: Regulatory domain: US [ 18.113311] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 18.113342] (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) [ 18.113403] (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 18.113433] (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 18.113464] (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 18.113494] (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) [ 18.113525] (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) [ 18.113586] cfg80211: Calling CRDA for country: US [ 18.116333] musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0 [ 18.118591] musb_hdrc: USB OTG mode controller at d80ab000 using DMA, IRQ 92 [ 18.119873] NET: Registered protocol family 2 [ 18.120117] IP route cache hash table entries: 2048 (order: 1, 8192 bytes) [ 18.120635] TCP established hash table entries: 8192 (order: 4, 65536 bytes) [ 18.120849] TCP bind hash table entries: 8192 (order: 3, 32768 bytes) [ 18.120971] TCP: Hash tables configured (established 8192 bind 8192) [ 18.121002] TCP reno registered [ 18.121215] NET: Registered protocol family 1 [ 18.124542] VFS: Disk quotas dquot_6.5.2 [ 18.124664] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 18.125152] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 18.125762] JFFS2 version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc. [ 18.126495] msgmni has been set to 466 [ 18.130279] alg: No test for stdrng (krng) [ 18.130401] io scheduler noop registered [ 18.130432] io scheduler anticipatory registered [ 18.130462] io scheduler deadline registered [ 18.130645] io scheduler cfq registered (default) [ 18.149841] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 18.172973] serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654 [ 18.194763] serial8250.0: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654 [ 18.217071] serial8250.0: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654 [ 18.217132] console [ttyS2] enabled [ 18.747802] brd: module loaded [ 18.755737] loop: module loaded [ 18.759490] enc28j60 spi4.0: enc28j60 Ethernet driver 1.01 loaded [ 18.768646] enc28j60 spi4.0: enc28j60 chip not found [ 18.773681] enc28j60: probe of spi4.0 failed with error -5 [ 18.779785] usbcore: registered new interface driver catc [ 18.785308] catc: v2.8:CATC EL1210A NetMate USB Ethernet driver [ 18.791564] usbcore: registered new interface driver kaweth [ 18.797180] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver [ 18.804992] usbcore: registered new interface driver pegasus [ 18.810760] rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver [ 18.817932] usbcore: registered new interface driver rtl8150 [ 18.823883] usbcore: registered new interface driver asix [ 18.829559] usbcore: registered new interface driver cdc_ether [ 18.835723] usbcore: registered new interface driver dm9601 [ 18.841613] usbcore: registered new interface driver smsc95xx [ 18.847686] usbcore: registered new interface driver gl620a [ 18.853515] usbcore: registered new interface driver net1080 [ 18.859497] usbcore: registered new interface driver plusb [ 18.865295] usbcore: registered new interface driver rndis_host [ 18.871520] usbcore: registered new interface driver cdc_subset [ 18.877777] usbcore: registered new interface driver zaurus [ 18.883605] usbcore: registered new interface driver MOSCHIP usb-ethernet driver [ 18.891357] Broadcom 43xx driver loaded [ Features: L, Firmware-ID: FW13 ] [ 18.898681] usbcore: registered new interface driver zd1211rw [ 18.904754] usbcore: registered new interface driver rtl8187 [ 18.910766] usbcore: registered new interface driver rndis_wlan [ 18.916992] usbcore: registered new interface driver zd1201 [ 18.922882] usbcore: registered new interface driver usb8xxx [ 18.928894] usbcore: registered new interface driver rt2500usb [ 18.935058] usbcore: registered new interface driver rt73usb [ 18.941070] usbcore: registered new interface driver p54usb [ 18.946685] i2c /dev entries driver [ 18.951751] Driver 'sd' needs updating - please use bus_type methods [ 18.958465] Driver 'sr' needs updating - please use bus_type methods [ 18.965759] omap2-nand driver initializing [ 18.970184] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit) [ 18.979248] cmdlinepart partition parsing not available [ 18.984527] Creating 5 MTD partitions on "omap2-nand": [ 18.989746] 0x000000000000-0x000000080000 : "X-Loader" [ 18.996765] 0x000000080000-0x000000260000 : "U-Boot" [ 19.003692] 0x000000260000-0x000000280000 : "U-Boot Env" [ 19.010192] 0x000000280000-0x000000680000 : "Kernel" [ 19.018005] 0x000000680000-0x000010000000 : "File System" [ 19.135314] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 19.142211] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller [ 19.148773] ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1 [ 19.156585] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 [ 19.173980] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 [ 19.180419] usb usb1: configuration #1 chosen from 1 choice [ 19.186462] hub 1-0:1.0: USB hub found [ 19.190368] hub 1-0:1.0: 3 ports detected [ 19.196166] Initializing USB Mass Storage driver... [ 19.201507] usbcore: registered new interface driver usb-storage [ 19.207611] USB Mass Storage support registered. [ 19.212829] mice: PS/2 mouse device common for all mice [ 19.218688] input: gpio-keys as /devices/platform/gpio-keys/input/input0 [ 19.227600] input: twl4030_pwrbutton as /devices/platform/i2c_omap.1/i2c-adapter/i2c-1/1-0049/twl4030_pwrbutton/i1 [ 19.519744] usb 1-2: new high speed USB device using ehci-omap and address 2 [ 19.683166] usb 1-2: configuration #1 chosen from 1 choice [ 19.689208] hub 1-2:1.0: USB hub found [ 19.693237] hub 1-2:1.0: 4 ports detected [ 19.986877] usb 1-2.2: new high speed USB device using ehci-omap and address 3 [ 20.126037] usb 1-2.2: configuration #1 chosen from 1 choice [ 20.236846] i2c_omap i2c_omap.2: controller timed out [ 20.242004] rtc-ds1307: probe of 2-0068 failed with error -5 [ 20.249267] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec [ 20.255615] Bluetooth: HCI UART driver ver 2.2 [ 20.260162] Bluetooth: HCI H4 protocol initialized [ 20.264984] Bluetooth: HCI BCSP protocol initialized [ 20.270050] Bluetooth: HCILL protocol initialized [ 20.274810] Bluetooth: Broadcom Blutonium firmware driver ver 1.2 [ 20.281280] usbcore: registered new interface driver bcm203x [ 20.287048] Bluetooth: Digianswer Bluetooth USB driver ver 0.10 [ 20.293273] usbcore: registered new interface driver bpa10x [ 20.298950] Bluetooth: BlueFRITZ! USB driver ver 1.2 [ 20.304199] usbcore: registered new interface driver bfusb [ 20.309967] Bluetooth: Generic Bluetooth USB driver ver 0.4 [ 20.316009] usbcore: registered new interface driver btusb [ 20.321563] Bluetooth: Generic Bluetooth SDIO driver ver 0.1 [ 20.328247] mmci-omap-hs mmci-omap-hs.0: Failed to get debounce clock [ 20.440093] mmci-omap-hs mmci-omap-hs.1: Failed to get debounce clock [ 20.446685] regulator: Unable to get requested regulator: vmmc_aux [ 20.455291] Registered led device: beagleboard::usr0 [ 20.460571] Registered led device: beagleboard::usr1 [ 20.471374] usbcore: registered new interface driver usbhid [ 20.477020] usbhid: v2.6:USB HID core driver [ 20.482543] Advanced Linux Sound Architecture Driver Version 1.0.18a. [ 20.489898] usbcore: registered new interface driver snd-usb-audio [ 20.496551] No device for DAI twl4030 [ 20.500274] No device for DAI omap-mcbsp-dai-0 [ 20.504913] No device for DAI omap-mcbsp-dai-1 [ 20.509399] No device for DAI omap-mcbsp-dai-2 [ 20.513977] No device for DAI omap-mcbsp-dai-3 [ 20.518493] No device for DAI omap-mcbsp-dai-4 [ 20.522979] OMAP3 Beagle SoC init [ 20.526733] TWL4030 Audio Codec init [ 20.531555] asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok [ 20.545837] ALSA device list: [ 20.548858] #0: omap3beagle (twl4030) [ 20.553192] oprofile: using arm/armv7 [ 20.557220] TCP cubic registered [ 20.560485] NET: Registered protocol family 17 [ 20.565032] NET: Registered protocol family 15 [ 20.569580] Bluetooth: L2CAP ver 2.11 [ 20.573303] Bluetooth: L2CAP socket layer initialized [ 20.578430] Bluetooth: SCO (Voice Link) ver 0.6 [ 20.583038] Bluetooth: SCO socket layer initialized [ 20.593780] Bluetooth: RFCOMM socket layer initialized [ 20.599060] Bluetooth: RFCOMM TTY layer initialized [ 20.604095] Bluetooth: RFCOMM ver 1.10 [ 20.607879] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 20.613281] Bluetooth: BNEP filters: protocol multicast [ 20.618560] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 20.627746] RPC: Registered udp transport module. [ 20.632507] RPC: Registered tcp transport module. [ 20.637634] lib80211: common routines for IEEE802.11 drivers [ 20.643463] ThumbEE CPU extension supported. [ 20.647766] Power Management for TI OMAP3. [ 20.658599] Disabling unused clock "sr2_fck" [ 20.662933] Disabling unused clock "sr1_fck" [ 20.667266] Disabling unused clock "mcbsp_fck" [ 20.671783] Disabling unused clock "mcbsp_fck" [ 20.676300] Disabling unused clock "mcbsp_fck" [ 20.680786] Disabling unused clock "mcbsp_ick" [ 20.685302] Disabling unused clock "mcbsp_ick" [ 20.689788] Disabling unused clock "mcbsp_ick" [ 20.694274] Disabling unused clock "gpt2_ick" [ 20.698730] Disabling unused clock "gpt3_ick" [ 20.703125] Disabling unused clock "gpt4_ick" [ 20.707550] Disabling unused clock "gpt5_ick" [ 20.711944] Disabling unused clock "gpt6_ick" [ 20.716369] Disabling unused clock "gpt7_ick" [ 20.720794] Disabling unused clock "gpt8_ick" [ 20.725189] Disabling unused clock "gpt9_ick" [ 20.729827] Disabling unused clock "wdt3_ick" [ 20.734222] Disabling unused clock "wdt3_fck" [ 20.738647] Disabling unused clock "gpio2_dbck" [ 20.743225] Disabling unused clock "gpio3_dbck" [ 20.747802] Disabling unused clock "gpio4_dbck" [ 20.752410] Disabling unused clock "gpio5_dbck" [ 20.756988] Disabling unused clock "gpio6_dbck" [ 20.761596] Disabling unused clock "gpt9_fck" [ 20.765991] Disabling unused clock "gpt8_fck" [ 20.770416] Disabling unused clock "gpt7_fck" [ 20.774810] Disabling unused clock "gpt6_fck" [ 20.779235] Disabling unused clock "gpt5_fck" [ 20.783660] Disabling unused clock "gpt4_fck" [ 20.788055] Disabling unused clock "gpt3_fck" [ 20.792480] Disabling unused clock "gpt2_fck" [ 20.796875] Disabling unused clock "gpt1_ick" [ 20.801300] Disabling unused clock "wdt1_ick" [ 20.805694] Disabling unused clock "wdt2_ick" [ 20.810119] Disabling unused clock "wdt2_fck" [ 20.814544] Disabling unused clock "gpio1_dbck" [ 20.819122] Disabling unused clock "gpt1_fck" [ 20.823730] Disabling unused clock "cam_ick" [ 20.828063] Disabling unused clock "cam_mclk" [ 20.832519] Disabling unused clock "des1_ick" [ 20.836914] Disabling unused clock "sha11_ick" [ 20.841430] Disabling unused clock "rng_ick" [ 20.845764] Disabling unused clock "aes1_ick" [ 20.850158] Disabling unused clock "ssi_ick" [ 20.854492] Disabling unused clock "mailboxes_ick" [ 20.859313] Disabling unused clock "mcbsp_ick" [ 20.863830] Disabling unused clock "mcbsp_ick" [ 20.868316] Disabling unused clock "gpt10_ick" [ 20.872833] Disabling unused clock "gpt11_ick" [ 20.877349] Disabling unused clock "hdq_ick" [ 20.881652] Disabling unused clock "mspro_ick" [ 20.886169] Disabling unused clock "des2_ick" [ 20.890563] Disabling unused clock "sha12_ick" [ 20.895080] Disabling unused clock "aes2_ick" [ 20.899475] Disabling unused clock "icr_ick" [ 20.903808] Disabling unused clock "pka_ick" [ 20.908111] Disabling unused clock "ssi_ssr_fck" [ 20.912811] Disabling unused clock "hdq_fck" [ 20.917327] Disabling unused clock "mcbsp_fck" [ 20.921813] Disabling unused clock "mcbsp_fck" [ 20.926330] Disabling unused clock "mspro_fck" [ 20.930816] Disabling unused clock "gpt11_fck" [ 20.935333] Disabling unused clock "gpt10_fck" [ 20.939849] Disabling unused clock "dpll4_m6x2_ck" [ 20.944702] Disabling unused clock "dpll3_m3x2_ck" [ 20.949554] Disabling unused clock "sys_clkout1" [ 20.954254] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 [ 20.968780] registered taskstats version 1 [ 20.974121] fbcvt: 1024x768@60: CVT Name - .786M3-R [ 21.001678] Console: switching to colour frame buffer device 128x48 [ 21.019104] clock: clksel_round_rate_div: dpll4_m4_ck target_rate 48000000 [ 21.026214] clock: new_div = 9, new_rate = 48000000 [ 21.034088] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 21.056976] mmc0: new high speed SD card at address 1145 [ 21.063049] mmcblk0: mmc0:1145 SD02G 1.83 GiB [ 21.067962] mmcblk0: p1 p2 [ 21.294006] eth0 (asix): not using net_device_ops yet [ 21.299926] eth0: register 'asix' at usb-ehci-omap.0-2.2, ASIX AX88772 USB 2.0 Ethernet, 00:50:b6:06:c4:57 [ 21.393066] usb 1-2.4: new high speed USB device using ehci-omap and address 4 [ 21.518951] usb 1-2.4: configuration #1 chosen from 1 choice [ 21.526580] hub 1-2.4:1.0: USB hub found [ 21.531372] hub 1-2.4:1.0: 4 ports detected [ 21.823577] usb 1-2.4.1: new low speed USB device using ehci-omap and address 5 [ 21.953704] usb 1-2.4.1: configuration #1 chosen from 1 choice [ 21.967559] input: Logitech Optical USB Mouse as /devices/platform/ehci-omap.0/usb1/1-2/1-2.4/1-2.4.1/1-2.4.1:1.02 [ 21.986114] generic-usb 0003:046D:C016.0001: input: USB HID v1.10 Mouse [Logitech Optical USB Mouse] on usb-ehci-0 [ 22.088409] usb 1-2.4.2: new low speed USB device using ehci-omap and address 6 [ 22.219512] usb 1-2.4.2: configuration #1 chosen from 1 choice [ 22.235900] input: HID 04f3:0103 as /devices/platform/ehci-omap.0/usb1/1-2/1-2.4/1-2.4.2/1-2.4.2:1.0/input/input3 [ 22.250885] generic-usb 0003:04F3:0103.0002: input: USB HID v1.10 Keyboard [HID 04f3:0103] on usb-ehci-omap.0-2.40 [ 22.276123] input: HID 04f3:0103 as /devices/platform/ehci-omap.0/usb1/1-2/1-2.4/1-2.4.2/1-2.4.2:1.1/input/input4 [ 22.292663] generic-usb 0003:04F3:0103.0003: input: USB HID v1.10 Device [HID 04f3:0103] on usb-ehci-omap.0-2.4.21 [ 26.784179] kjournald starting. Commit interval 5 seconds [ 26.829589] EXT3 FS on mmcblk0p2, internal journal [ 26.839569] EXT3-fs: recovery complete. [ 27.092559] EXT3-fs: mounted filesystem with ordered data mode. [ 27.103057] VFS: Mounted root (ext3 filesystem) on device 179:2. [ 27.113800] Freeing init memory: 204K [ 34.775878] uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 0 [ 34.783721] Buffer I/O error on device mtdblock0, logical block 0 [ 35.148834] uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 8 [ 35.156768] Buffer I/O error on device mtdblock0, logical block 1 [ 35.267791] uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 16 [ 35.275726] Buffer I/O error on device mtdblock0, logical block 2 [ 35.331329] uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 24 [ 35.339263] Buffer I/O error on device mtdblock0, logical block 3 [ 35.394592] uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 0 [ 35.402435] Buffer I/O error on device mtdblock0, logical block 0 [ 36.684143] FAT: IO charset iso8859-1 not found [ 39.959899] ipv6: disagrees about version of symbol struct_module [ 39.994750] irda: disagrees about version of symbol struct_module [ 40.005432] ircomm: disagrees about version of symbol struct_module [ 40.017547] ircomm_tty: disagrees about version of symbol struct_module [ 41.687622] eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1 [ 41.948944] eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1 [ 42.976959] ipv6: disagrees about version of symbol struct_module [ 43.062438] ipv6: disagrees about version of symbol struct_module [ 44.849395] ipv6: disagrees about version of symbol struct_module [ 45.715362] ipv6: disagrees about version of symbol struct_module [ 45.858184] ipv6: disagrees about version of symbol struct_module [ 45.925842] ipv6: disagrees about version of symbol struct_module [ 46.094299] ipv6: disagrees about version of symbol struct_module .-------. | | .-. | | |-----.-----.-----.| | .----..-----.-----. | | | __ | ---'| '--.| .-'| | | | | | | | |--- || --'| | | ' | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution beagleboard ttyS2 Angstrom 2009.X-stable beagleboard ttyS2 beagleboard login: |
5-4 | 5-17 | Console Setup Code Snippet from .../kernel/printk.c | /* * Set up a list of consoles. Called from init/main.c */ static int __init console_setup(char *str) { char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */ char *s, *options, *brl_options = NULL; int idx; ... <body omitted for clarity...> ... return 1; } __setup("console=", console_setup); |
5-5 | 5-18 | Family of __setup Macro Definitions from .../include/linux/init.h | ... #define __setup_param(str, unique_id, fn, early) \ static char __setup_str_##unique_id[] __initdata __aligned(1) = str; \ static struct obs_kernel_param __setup_##unique_id \ __used __section(.init.setup) \ __attribute__((aligned((sizeof(long))))) \ = { __setup_str_##unique_id, fn, early } #define __setup(str, fn) \ __setup_param(str, fn, fn, 0) ... |
5-6 | 5-19 | Kernel Command Line Processing | 1 extern struct obs_kernel_param __setup_start[], __setup_end[]; 2 3 static int __init obsolete_checksetup(char *line) 4 { 5 struct obs_kernel_param *p; 6 int had_early_param = 0; 7 8 p = __setup_start; 9 do { 10 int n = strlen(p->str); 11 if (!strncmp(line, p->str, n)) { 12 if (p->early) { 13 /* Already done in parse_early_param? 14 * (Needs exact match on param part). 15 * Keep iterating, as we can have early 16 * params and __setups of same names 8( */ 17 if (line[n] == '\0' || line[n] == '=') 18 had_early_param = 1; 19 } else if (!p->setup_func) { 20 printk(KERN_WARNING "Parameter %s is obsolete," 21 " ignored\n", p->str); 22 return 1; 23 } else if (p->setup_func(line + n)) 24 return 1; 25 } 26 p++; 27 } while (p < __setup_end); 28 29 return had_early_param; 30 } |
5-7 | 5-22 | Example Initialization Routine - .../arch/arm/kernel/setup.c | static int __init customize_machine(void) { /* customizes platform devices, or adds new ones */ if (init_machine) init_machine(); return 0; } arch_initcall(customize_machine); |
5-8 | 5-22 | initcall Family of Macros - .../include/linux/init.h | #define __define_initcall(level,fn,id) \ static initcall_t __initcall_##fn##id __used \ __attribute__((__section__(".initcall" level ".init"))) = fn /* * Early initcalls run before initializing SMP. * * Only for built-in code, not modules. */ #define early_initcall(fn) __define_initcall("early",fn,early) /* * A "pure" initcall has no dependencies on anything else, and purely * initializes variables that couldn't be statically initialized. * * This only exists for built-in code, not for modules. */ #define pure_initcall(fn) __define_initcall("0",fn,0) #define core_initcall(fn) __define_initcall("1",fn,1) #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) #define postcore_initcall(fn) __define_initcall("2",fn,2) #define postcore_initcall_sync(fn) __define_initcall("2s",fn,2s) #define arch_initcall(fn) __define_initcall("3",fn,3) #define arch_initcall_sync(fn) __define_initcall("3s",fn,3s) #define subsys_initcall(fn) __define_initcall("4",fn,4) #define subsys_initcall_sync(fn) __define_initcall("4s",fn,4s) #define fs_initcall(fn) __define_initcall("5",fn,5) #define fs_initcall_sync(fn) __define_initcall("5s",fn,5s) #define rootfs_initcall(fn) __define_initcall("rootfs",fn,rootfs) #define device_initcall(fn) __define_initcall("6",fn,6) #define device_initcall_sync(fn) __define_initcall("6s",fn,6s) #define late_initcall(fn) __define_initcall("7",fn,7) #define late_initcall_sync(fn) __define_initcall("7s",fn,7s) #define __initcall(fn) device_initcall(fn) ... |
5-9 | 5-24 | Creation of Kernel init Thread | static noinline void __init_refok rest_init(void) __releases(kernel_lock) { int pid; kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND); numa_default_policy(); pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES); kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns); unlock_kernel(); /* * The boot idle thread must execute schedule() * at least once to get things moving: */ init_idle_bootup_task(current); rcu_scheduler_starting(); preempt_enable_no_resched(); schedule(); preempt_disable(); /* Call into cpu_idle with preempt disabled */ cpu_idle(); } |
5-10 | 5-25 | Initialization via initcalls | extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[]; static void __init do_initcalls(void) { initcall_t *call; for (call = __early_initcall_end; call < __initcall_end; call++) do_one_initcall(*call); /* Make sure there is no pending stuff from the initcall sequence */ flush_scheduled_work(); } |
5-11 | 5-27 | Final Boot Steps from main.c | static noinline int init_post(void) { <... lines trimmed for clarity ...> if (execute_command) { run_init_process(execute_command); printk(KERN_WARNING "Failed to execute %s. Attempting " "defaults...\n", execute_command); } run_init_process("/sbin/init"); run_init_process("/etc/init"); run_init_process("/bin/init"); run_init_process("/bin/sh"); panic("No init found. Try passing init= option to kernel."); } |