Note: the materials for training with the Beagle Board are no longer available, and would be significantly out of date anyway. We advise you to check our Embedded Linux System Development and Linux Kernel and Driver Development training courses for up-to-date instructions that work on cheaper boards, which are still available on the market today. And if you still have an old Beagle board, it will be an interesting exercise to adapt our current labs to run them on such hardware.
We were asked to customize our embedded Linux training session with specific labs on OMAP 3530 hardware. After a successful delivery on the customer site, using Beagle boards, here are our training materials, released as usual under the terms of the Creative Commons Attribution-ShareAlike 3.0 license:
If you are the happy owner of such a board (both attractive and cheap), or are interested in getting one, you can get valuable embedded Linux experience by reading our lecture materials and by taking our practical labs.
Here’s what you would practise with if you decide to take our labs:
- Build a cross-compiling toolchain with crosstool-NG
- Compile U-boot and the X-loader and install it on MMC and flash storage.
- Manipulate Linux kernel sources and apply source patches
- Configure, compile and boot a Linux kernel for an emulated PC target
- Configure, cross-compile and boot a Linux kernel on your Beagle Board
- Build a tiny filesystem from scratch, based on BusyBox, and with a web server interface. Practice with NFS booting.
- Put your filesystem on MMC storage, replacing NFS. Practice with SquashFS.
- Put your filesystem on internal NAND flash storage. Practice with JFFS2 too.
- Manually cross-compile libraries (zlib, libpng, libjpeg, FreeType and DirectFB) and a DirectFB examples, getting familiar with the tricks required to cross-compile components provided by the community.
- Build the same kind of graphical system automatically with Buildroot.
- Compile your own application against existing libraries. Debug a target application with strace, ltrace and gdbserver running on the target.
- Do experiments with the rt-preempt patches. Measure scheduling latency improvements.
- Implement hotplugging with mdev, BusyBox’s lightweight alternative to udev.
Note that the labs were tested with Rev. C boards, but are also supposed to work fine with Rev. B ones. You may also be able to reuse some of our instructions with other boards with a TI OMAP3 processor.
Of course, if you like the materials, you can also ask your company to order such a training session from us. We will be delighted to come to your place and spend time with you and your colleagues.
Hi,
I’m following your lab instructions and, like some other people on the web who have followed this tutorial, I’ve run into a problem when booting a cross-compiled kernel on my beagle board where the boot process stops after busybox starts up. The following is the serial output:
Texas Instruments X-Loader 1.4.4ss (Aug 8 2010 – 14:57:52)
Beagle Rev C4
Reading boot sector
Loading u-boot.bin from mmc
U-Boot 2010.06-00267-gb1f95b4 (Aug 08 2010 – 15:08:09)
OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 256 MiB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Board revision Ax/Bx
Die ID #7c4e000400000000040373050f01300b
Hit any key to stop autoboot: 0
mmc1 is available
reading boot.scr
** Unable to read “boot.scr” from mmc 0:1 **
reading uImage
2291592 bytes read
Booting from mmc …
## Booting kernel from Legacy Image at 82000000 …
Image Name: Linux-2.6.35-rc6-dirty
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2291528 Bytes = 2.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK
Starting kernel …
Uncompressing Linux… done, booting the kernel.
Linux version 2.6.35-rc6-dirty (mwasiel@mwasiel-desktop) (gcc version 4.3.2 (crosstool-NG-1.4.2) ) #1 Mon Aug 9 01:21:59 EDT 2010
CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3 Beagle Board
Memory policy: ECC disabled, Data cache writeback
OMAP3430/3530 ES3.1 (l2cache iva sgx neon isp )
SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
Kernel command line: console=ttyS2,115200n8 vram=12M omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 128MB 128MB = 256MB total
Memory: 255252k/255252k available, 6892k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 – 0xffe00000 ( 2 MB)
vmalloc : 0xd0800000 – 0xf8000000 ( 632 MB)
lowmem : 0xc0000000 – 0xd0000000 ( 256 MB)
modules : 0xbf000000 – 0xc0000000 ( 16 MB)
.init : 0xc0008000 – 0xc00d9000 ( 836 kB)
.text : 0xc00d9000 – 0xc043d000 (3472 kB)
.data : 0xc043e000 – 0xc046f8c0 ( 199 kB)
Hierarchical RCU implementation.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:402
Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz
omap_hwmod: l3_hwmod: cannot be enabled (3)
omap_hwmod: l4_core_hwmod: cannot be enabled (3)
omap_hwmod: l4_per_hwmod: cannot be enabled (3)
omap_hwmod: l4_wkup_hwmod: cannot be enabled (3)
Reprogramming SDRC clock to 332000000 Hz
GPMC revision 5.0
IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
Total of 96 interrupts on 1 active controller
OMAP GPIO hardware version 2.5
OMAP clockevent source: GPTIMER12 at 32768 Hz
Console: colour dummy device 80×30
Calibrating delay loop… 489.46 BogoMIPS (lpj=1912832)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
Found NAND on CS0
Registering NAND on CS0
Unable to get DVI reset GPIO
OMAP DMA hardware revision 4.0
bio: create slab at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz
twl4030: PIH (irq 7) chaining IRQs 368..375
twl4030: power (irq 373) chaining IRQs 376..383
twl4030: gpio (irq 368) chaining IRQs 384..401
regulator: VUSB1V5: 1500 mV normal standby
regulator: VUSB1V8: 1800 mV normal standby
regulator: VUSB3V1: 3100 mV normal standby
twl4030_usb twl4030_usb: Initialized TWL4030 USB module
regulator: VMMC1: 1850 3150 mV at 3000 mV normal standby
regulator: VDAC: 1800 mV normal standby
regulator: VDVI: 1800 mV normal standby
regulator: VSIM: 1800 3000 mV at 1800 mV normal standby
i2c_omap i2c_omap.3: bus 3 rev3.12 at 100 kHz
Switching to clocksource 32k_counter
musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
musb_hdrc musb_hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 498
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654
serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654
serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654
console [ttyS2] enabled
brd: module loaded
loop: module loaded
usbmon: debugfs is not available
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1
ehci-omap ehci-omap.0: irq 77, io mem 0x48064800
ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
Power Management for TI OMAP3.
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
regulator_init_complete: incomplete constraints, leaving VDVI on
regulator_init_complete: incomplete constraints, leaving VDAC on
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing init memory: 836K
init started: BusyBox v1.4.1 (2007-04-20 15:26:03 CEST) multi-call binary
Starting pid 346, console /dev/ttyS2: ‘/etc/init.d/rcS’
mmc0: new high speed SD card at address 0007
mmcblk0: mmc0:0007 SD02G 1.90 GiB
mmcblk0: p1
Found the solution to my post above. ttyS0 has to be changed to ttyS2 in fwlabs/sysdev/xkernel/data/rootfs/etc/inittab file when using initramfs.
hi,
i got the beagleboard-xM recently and following your manual to boot up the board.
i am tryin to make the boot image on a new MMC card.
i copied the MLO file, uboot.bin(from mkimage) and uImage to the FAT partition. however the board doesnt read from MMC when i turn it on.are there any other files that have to be copied onto the board.i would greatly appreciate your response.
Thanks,
Vamsi
Hi’
While booting 2.6.35.8 kernel on beagleboard-xm (A3) I got this kernel panic :
Detailed error:
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device “nfs” or unknown-block(2,0)
Please append a correct “root=” boot option; here are the available partitions:
b300 3870720 mmcblk0 driver: mmcblk
b301 3863601 mmcblk0p1
Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
I am passing root=/dev/nfs but I don’t know how to solve this issue.
Passing root=/dev/nfs is not sufficient, you also need to pass the ip= and nfsroot= options. Moreover, your NFS server must be set up appropriately on your development workstation.
Hello sir,
I installed the latest angstrom demo image on beagleboard rev C4 using
SD card. Logged in as root. Pico projector is connected to HDMI port
and shows the login screen. I have a serial port connected with tera
term pro and a mouse and keyboard connected to beagleboard. I can play
the included BigBunny movie on pico projector.
Now my project aim is to use this beagle board as an interface between my system and DLP Pico Projector to configure the projector using i2c commands.
so when i type the following command to check for i2c buses on beagle board it isa displaying the below lines..
root@beagleboard:/dev# ls i2c*
-sh: i2c bus not found
What does it mean? Is that mean the drivers are not there ?
Please help me in finding out what is the problem and what i need to do.
Thank you in advance.
VFS: Cannot open root device “nfs” or unknown-block(2,0)
What does it mean? Is that mean the drivers are not there ?
Please help me in finding out what is the problem and what i need to do.
Thank you in advance.
Hi,
This kind of error typically happens when root filesystem support over NFS is not available, or if the kernel failed to mount the root filesystem for multiple reasons.
Could you post the few lines that appeared before this final error?
Michael.
Hi,
I followed the lab instructions to build a rootfs (busybox-1.19.4) and ended up with the following kernel panic while booting from an mmc card:
Kernel panic – not syncing: No init found. Try passing init= option to kernel.
My bootcmd is listed below:
mmc rescan 0
setenv bootargs ‘console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait’
setenv bootcmd ‘fatload mmc 0 0x80300000 uImage ; bootm 0x80300000’
bootd
I have also tried passing the following values to init in my bootcmd but the error still persists:
init=linuxrc, init=/linurc, init=/sbin/init.
The following is the serial output:
1924680 bytes read
## Booting kernel from Legacy Image at 80300000 …
Image Name: Linux-2.6.32
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1924616 Bytes = 1.8 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK
Starting kernel …
Uncompressing Linux………………………………………………………………………………………………………… d.
Linux version 2.6.32 (john@john-MacBookPro) (gcc version 4.4.3 (crosstool-NG 1.13.0) ) #1 Thu Dec 29 01:08:15 PST 2011
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3 Beagle Board
Memory policy: ECC disabled, Data cache writeback
OMAP3630 ES1.0 (l2cache iva sgx neon isp )
SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 256MB 256MB = 512MB total
Memory: 515712KB available (3300K code, 299K data, 124K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:402
Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
Reprogramming SDRC clock to 332000000 Hz
GPMC revision 5.0
IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
Total of 96 interrupts on 1 active controller
OMAP GPIO hardware version 2.5
OMAP clockevent source: GPTIMER12 at 32768 Hz
Console: colour dummy device 80×30
Calibrating delay loop… 492.62 BogoMIPS (lpj=1925120)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
Found NAND on CS0
Registering NAND on CS0
OMAP DMA hardware revision 5.0
bio: create slab at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c_omap i2c_omap.1: bus 1 rev4.0 at 2600 kHz
twl4030: PIH (irq 7) chaining IRQs 368..375
twl4030: power (irq 373) chaining IRQs 376..383
twl4030: gpio (irq 368) chaining IRQs 384..401
regulator: VUSB1V5: 1500 mV normal standby
regulator: VUSB1V8: 1800 mV normal standby
regulator: VUSB3V1: 3100 mV normal standby
twl4030_usb twl4030_usb: Initialized TWL4030 USB module
regulator: VMMC1: 1850 3150 mV normal standby
regulator: VDAC: 1800 mV normal standby
regulator: VPLL2: 1800 mV normal standby
regulator: VSIM: 1800 3000 mV normal standby
i2c_omap i2c_omap.3: bus 3 rev4.0 at 100 kHz
Switching to clocksource 32k_counter
musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
musb_hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 1007
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
omapfb: configured for panel omap3beagle
omapfb: DISPC version 3.0 initialized
Console: switching to colour frame buffer device 128×48
omapfb: Framebuffer initialized. Total vram 1572864 planes 1
omapfb: Pixclock 64000 kHz hfreq 59.0 kHz vfreq 76.9 Hz
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654
serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654
serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654
console [ttyS2] enabled
brd: module loaded
loop: module loaded
usbmon: debugfs is not available
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1
ehci-omap ehci-omap.0: irq 77, io mem 0x48064800
ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
Power Management for TI OMAP3.
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
regulator_init_complete: incomplete constraints, leaving VDVI on
regulator_init_complete: incomplete constraints, leaving VDAC on
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Waiting for root device /dev/mmcblk0p2…
usb 1-2: new high speed USB device using ehci-omap and address 2
usb 1-2: configuration #1 chosen from 1 choice
hub 1-2:1.0: USB hub found
hub 1-2:1.0: 5 ports detected
mmc0: new high speed SD card at address 1234
mmcblk0: mmc0:1234 SA02G 1.81 GiB
mmcblk0: p1 p2
kjournald starting. Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on mmcblk0p2, internal journal
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with writeback data mode.
VFS: Mounted root (ext3 filesystem) on device 179:2.
Freeing init memory: 124K
Kernel panic – not syncing: No init found. Try passing init= option to kernel.
— John
Hi,
Cross check bootloader environment variables are set properly.
Check your file system path in bootloader environment variables.
If possible, Please share the uboot environment variables.
@uboot prompt type “printenv” command, send the details.
Regards,
Santhosh
Hi,
Recently, I played a little with emulating BB on Qemu. I’ve :
Ubuntu 11.10
Ubuntu native Qemu version 0.15.50 with beagle emulating capability
X-loader v. 1.41
U-boot-2011.09
I started with ext2 ramdisk RFS.
I downloaded bb_nandflash.sh and bb_nandflash_ecc.c and prepared nand image like this :
bb_nandflash.sh x-load.bin.ift nand.bin x-loader
bb_nandflash.sh u-boot.bin nand.bin u-boot
bb_nandflash.sh uImage nand.bin kernel
bb_nandflash.sh rootfs.ext2 nand.bin rootfs
bb_nandflash_ecc nand.bin 0x0 0x1000000
I started Qemu
sudo qemu-system-arm -M beagle -m 128M -nographic -mtdblock nand.bin
Everything worked fine but
1. What about U-boot commandes history on Qemu?
2. U-boot saveenv doesn’t work after Qemu rebooting.
Next I tried jffs2 RFS prepared with aid of Buildroot (no cleanmakers, page 2k and 128k eraseblock)
Like above, I preapared nand image
bb_nandflash.sh x-load.bin.ift nand.bin x-loader
bb_nandflash.sh u-boot.bin nand.bin u-boot
bb_nandflash.sh uImage nand.bin kernel
bb_nandflash.sh rootfs.jffs2 nand.bin rootfs
bb_nandflash_ecc nand.bin 0x0 0x1000000
And started Qemu
sudo qemu-system-arm -M beagle -m 128M -nographic -mtdblock nand.bin
Texas Instruments X-Loader 1.41
Starting OS Bootloader…
U-Boot 2011.09 (May 09 2012 – 14:38:11)
OMAP35XX-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 600 mHz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 128 MiB
NAND: 256 MiB
MMC: OMAP SD/MMC: 0
*** Warning – bad CRC, using default environment
ERROR : Unsupport USB mode
Check that mini-B USB cable is attached to the device
In: serial
Out: serial
Err: serial
Beagle Rev C4
No EEPROM on expansion board
Die ID #51454d5551454d555400000051454d55
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
I stopped U-boot and started kernel boot from nand
Uboot> run nandboot
Card did not respond to voltage select!
Booting from nand …
NAND read: device 0 offset 0x280000, size 0x400000
4194304 bytes read: OK
## Booting kernel from Legacy Image at 80200000 …
Image Name: Linux-2.6.32.59
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1916960 Bytes = 1.8 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK Starting kernel …
Uncompressing Linux……………………………………………………………………………………………………….. done, booting the kernel.
Linux version 2.6.32.59 (builder@NX5000) (gcc version 4.4.6 (crosstool-NG 1.13.4) ) #1 Tue May 22 00:02:44 CEST 2012
CPU: ARMv7 Processor [412fc083] revision 3 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3 Beagle Board
Memory policy: ECC disabled, Data cache writeback
OMAP3430 ES3.1
SRAM: Mapped pa 0x40200000 to va 0xe3000000 size: 0x100000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: console=ttyS2,115200n8 mpurate=auto buddy=none camera=none vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=/dev/mtdblock4 rw rootfstype=jffs2
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 125980KB available (3284K code, 296K data, 120K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:402
Clocking rate (Crystal/Core/MPU): 13.0/332/500 MHz
Reprogramming SDRC clock to 332000000 Hz
GPMC revision 5.0
IRQ: Found an INTC at 0xd8200000 (revision 4.0) with 96 interrupts
Total of 96 interrupts on 1 active controller
OMAP34xx GPIO hardware version 2.5
OMAP clockevent source: GPTIMER12 at 32768 Hz
Console: colour dummy device 80×30
Calibrating delay loop… 173.81 BogoMIPS (lpj=677888)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
Found NAND on CS0
Registering NAND on CS0
OMAP DMA hardware revision 4.0
bio: create slab at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz
twl4030: PIH (irq 7) chaining IRQs 368..375
twl4030: power (irq 373) chaining IRQs 376..383
twl4030: gpio (irq 368) chaining IRQs 384..401
regulator: VUSB1V5: 1500 mV normal standby
regulator: VUSB1V8: 1800 mV normal standby
regulator: VUSB3V1: 3100 mV normal standby
twl4030_usb twl4030_usb: Initialized TWL4030 USB module
regulator: VMMC1: 1850 3150 mV normal standby
regulator: VDAC: 1800 mV normal standby
regulator: VPLL2: 1800 mV normal standby
regulator: VSIM: 1800 3000 mV normal standby
i2c_omap i2c_omap.3: bus 3 rev3.12 at 100 kHz
Switching to clocksource 32k_counter
musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
musb_hdrc: USB OTG mode controller at d80ab000 using DMA, IRQ 92
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 246
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
omapfb: configured for panel omap3beagle
omapfb: DISPC version 3.0 initialized
Console: switching to colour frame buffer device 128×48
omapfb: Framebuffer initialized. Total vram 1572864 planes 1
omapfb: Pixclock 61714 kHz hfreq 57.5 kHz vfreq 74.2 Hz
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16650V2
serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16650V2
serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16650V2
console [ttyS2] enabled
brd: module loaded
loop: module loaded
omap2-nand driver initializing
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit)
Creating 5 MTD partitions on “omap2-nand”:
0x000000000000-0x000000080000 : “X-Loader”
0x000000080000-0x000000260000 : “U-Boot”
0x000000260000-0x000000280000 : “U-Boot Env”
0x000000280000-0x000000680000 : “Kernel”
0x000000680000-0x000010000000 : “File System”
usbmon: debugfs is not available
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
Power Management for TI OMAP3.
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2
regulator_init_complete: incomplete constraints, leaving VDVI on
regulator_init_complete: incomplete constraints, leaving VDAC on
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
uncorrectable error :
uncorrectable error :
mtd->read(0x400 bytes from 0x0) returned ECC error
jffs2_scan_dirent_node(): Node CRC failed on node at 0x00000000: Read 0x40534ac3, calculated 0x4e401b7b
jffs2_scan_eraseblock(): Node at 0x00000354 {0x1985, 0xe082, 0x00000044) has invalid CRC 0x98f7fb1d (calculated 0x8647efc5)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000358: 0x0044 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000035c: 0xfb1d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000360: 0x0009 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000364: 0x0001 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000368: 0x41fd instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000374: 0xc176 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000378: 0xc176 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000037c: 0xc176 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000394: 0xbb49 instead
Further such events for this erase block will not be printed
jffs2_scan_inode_node(): CRC failed on node at 0x000003c4: Read 0xffffffff, calculated 0xf09e7845
ofs 0x000003c4 has already been seen. Skipping
Empty flash at 0x000003c8 ends at 0x00000800
uncorrectable error :
uncorrectable error :
mtd->read(0x400 bytes from 0x20000) returned ECC error
QEMU: Terminated
nand.bin
006B3FF0 ffffffff ffffffff ffffffff ffffffff
006B4000 851901e0 2b000000 e66e267d 01000000
006B4010 00000000 02000000 2109bd4f 03040000
006B4020 c34a5340 ff836655 62696eff 851902e0
006B4030 44000000 1dfbf798 02000000 01000000
…
006B4340 76c1a64f 03040000 d3cf3805 7fab19ec
006B4350 6d6e74ff 851902e0 44000000 1dfbf798
006B4360 09000000 01000000 fd410000 00000000
006B4370 00000000 76c1a64f 76c1a64f 76c1a64f
…
64 bytes OOB’es containing ECC are placed after each 2k page and here
mtd->read(0x400 bytes from 0x0) returned ECC error
jffs2_scan_dirent_node(): Node CRC failed on node at 0x00000000: Read 0x40534ac3, calculated 0x4e401b7b
driver expected ECC at address 0x20 (little-endian) of rootfs.jffs2 (mtdblock4) and calculated it not on 2k page (0x800) but on 1k (0x400) bytes ???
In the labs.pdf document it says to, “Download the tarball at [obsolete link]. Where should I find the lab archive?
Thanks much,
Sheldon
Hi Sheldon,
Unfortunately, these labs are getting out of date, and we don’t maintain them any more. You can use the labs.tar.bz2 file, but it may no longer contain all the resources that are needed for this course.
My best advise is probably to try to use the latest version of the labs, found on /doc/training/embedded-linux/. The labs are for the IGEPv2 board, but this board is still pretty close to the Beagle board. So, there shouldn’t be any major issue adapting these new instructions to the Beagle board.
I hope this helps,
Cheers,
Michael
Hi Raghu,
We’ll need to upload a new one on the webserver, but for the timebeing, you can fetch the source of our materials using git at the following URL: https://github.com/bootlin/training-materials
You’ll find how to build the pdf using the instructions here: http://www.buiquanghuy.com/2012/06/free-android-training-materials-form.html
Hi Raghu,
Do you still face this issue?
It’s fine on my side, at least now.
Michael.
Hello,
I am wondering if the info from these training materials will also apply for BeagleBoard-xM? Beagleboard is so out of stock nowadays and all I can order is either a beaglebone or an xM, of which I have is xM.
This resource is now getting out of date. Closing comments.