Archive | Beagleboard-xM RSS for this section

BeagleBoard-xM – Part 1. Some Basic Info

As you may know i got my hands on a Beagleboard-xM. This things seems so cool but is the most fustrating board i experienced. Perhaps that’s because im not that linux savvy.

From what can tell the most important first step in this stuff is booting the uSD(micro sd) card it came with. Which is simple… Make sure everything is plugged except power. The last thing you should plug is power… to avoid any voltage spikes.

Ok since i know my board works the next thing i wanted to do is create my own uSD card with linux and stuff. The way i see it is… YOU NEED LINUX… lets leave it at that. Without linux you will have headaches. I have linux installed in a VM and on a second PC/Laptop. I use the laptop for my work mainly because it has a built in SD reader which simplifies things a lot.

Ok from what i can tell the SD card has to have 2 partitions.
Partition #1. FAT32 (Should have BOOT & LBA flags) Should be at least 128MB to be safe.
Partition #2. EXT3 This should fill the rest of the card.

The FAT32 partition is what we would call the BOOT partition. It will hold the uImage (linux image) and some other files. Ill get into that when the time comes.

The EXT3 partition is what we would call the ROOTFS or Root Filesystem which will hold the actual linux filesystem and everything you ever do on this beast.

I would recommend getting a 4GB SD card for a good performance amount of space. What i will be covering in the upcoming parts are:

1. How to Partition the SD card
2. Using Narcissus to build a test uImage and RootFS.
3. Loading SD card with our newly built uImage and RootFS.
4. Creating scripts for booting the board and placing them on SD card.
5. Testing our creation on live hardware.

Wish me luck. As this is something im learning on the fly and plan on explaining here to help others. There is documention online on this but nothing that good to get someone started up from nothing. I have had my board for about 2 days now and still have not been able to boot a custom linux file system. So as soon as i can… you can bet you all will be able to as well.

Advertisements

Beagleboard-xM Startup

Copied from Putty:

Texas Instruments X-Loader 1.4.4ss (Aug 19 2010 - 02:49:27)
Beagle xM Rev A
Reading boot sector
Loading u-boot.bin from mmc

U-Boot 2010.03-dirty (Aug 20 2010 - 20:50:46)

OMAP3630/3730-GP ES2.0, CPU-OPP2, L3-165MHz,
OMAP3 Beagle board + LPDDR/NAND
I2C:   ready
DRAM:  512 MB
NAND:  0 MiB
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial

Probing for expansion boards, if none are connected you'll see a harmless I2C error.

No EEPROM on expansion board
Beagle xM Rev A
Die ID #440000019ff80000015eeaa102011004
Hit any key to stop autoboot:  3  2  1  0
mmc1 is available
The user button is currently PRESSED.
reading user.scr

755 bytes read
Running bootscript from mmc ...
## Executing script at 80200000
mmc1 is available
reading ramdisk.gz

19960110 bytes read
reading uImage

3190568 bytes read
Booting from ramdisk ...
## Booting kernel from Legacy Image at 80200000 ...
   Image Name:   Angstrom/2.6.32/beagleboard
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3190504 Bytes =  3 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux................................................................................................................................................................................................................ done, booting the kernel.
[    0.000000] Linux version 2.6.32 (ubuntu@ip-10-204-115-71) (gcc version 4.3.3 (GCC) ) #3 PREEMPT Wed Aug 18 15:53:03 UTC 2010
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
[    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] OMAP3630/DM3730 ES1.0 (l2cache iva sgx neon isp 192mhz_clk )
[    0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000
[    0.000000] Reserving 16777216 bytes SDRAM for VRAM
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 117760
[    0.000000] Kernel command line: console=tty0 console=ttyS2,115200n8 mem=80M@0x80000000 mem=384M@0x88000000 mpurate=1000 buddy=none camera=lbcm3m1 vram=16M omapfb.vram=0:8M,1:4M,2:4M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=dvi root=/dev/ram0 rw ramdisk_size=131072 initrd=0x88000000,128M rootfstype=ext2
[    0.000000] Beagle expansionboard: none
[    0.000000] Beagle cameraboard: lbcm3m1
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 80MB 384MB = 464MB total
[    0.000000] Memory: 316288KB available (5880K code, 671K data, 204K init, 0K highmem)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:402
[    0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
[    0.000000] Reprogramming SDRC clock to 332000000 Hz
[    0.000000] GPMC revision 5.0
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
[    0.000000] Total of 96 interrupts on 1 active controller
[    0.000000] OMAP GPIO hardware version 2.5
[    0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty0] enabled
[    0.000000] Calibrating delay loop... 498.87 BogoMIPS (lpj=1945600)
[    0.000000] Mount-cache hash table entries: 512
[    0.000000] CPU: Testing write buffer coherency: ok
[    0.000000] tmpfs: No value for mount option 'mode'
[    0.000000] devtmpfs: initialized
[    0.000000] regulator: core version 0.5
[    0.000000] NET: Registered protocol family 16
[    0.000000] Beagle cameraboard: registering i2c2 bus for lbcm3m1
[    0.000000] Found NAND on CS0
[    0.000000] Registering NAND on CS0
[    0.000000] Unable to get DVI reset GPIO
[    0.000000] omap_init_mbox: platform not supported
[    0.000000] Target VDD1 OPP = 4, VDD2 OPP = 2
[   66.129547] OMAP DMA hardware revision 5.0
[   66.135864] bio: create slab <bio-0> at 0
[   66.137145] SCSI subsystem initialized
[   66.138519] usbcore: registered new interface driver usbfs
[   66.138671] usbcore: registered new interface driver hub
[   66.138854] usbcore: registered new device driver usb
[   66.139251] i2c_omap i2c_omap.1: bus 1 rev4.0 at 2600 kHz
[   66.141937] twl4030: PIH (irq 7) chaining IRQs 368..375
[   66.141998] twl4030: power (irq 373) chaining IRQs 376..383
[   66.142303] twl4030: gpio (irq 368) chaining IRQs 384..401
[   66.144012] regulator: VUSB1V5: 1500 mV normal standby
[   66.144256] regulator: VUSB1V8: 1800 mV normal standby
[   66.144500] regulator: VUSB3V1: 3100 mV normal standby
[   66.148132] twl4030_usb twl4030_usb: Initialized TWL4030 USB module
[   66.148559] regulator: VMMC1: 1850 <--> 3150 mV normal standby
[   66.148834] regulator: VDAC: 1800 mV normal standby
[   66.149078] regulator: VPLL2: 1800 mV normal standby
[   66.149322] regulator: VSIM: 1800 <--> 3000 mV normal standby
[   66.149688] regulator: VAUX3: 1800 mV normal standby
[   66.150054] regulator: VAUX4: 1800 mV normal standby
[   66.150238] i2c_omap i2c_omap.2: bus 2 rev4.0 at 400 kHz
[   66.157714] i2c_omap i2c_omap.3: bus 3 rev4.0 at 100 kHz
[   66.158935] Switching to clocksource 32k_counter
[   66.167877] musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
[   66.168212] musb_hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92
[   66.168243] musb_hdrc musb_hdrc: MUSB HDRC host driver
[   66.168395] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
[   66.168548] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[   66.168609] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   66.168640] usb usb1: Product: MUSB HDRC host driver
[   66.168670] usb usb1: Manufacturer: Linux 2.6.32 musb-hcd
[   66.168731] usb usb1: SerialNumber: musb_hdrc
[   66.169372] hub 1-0:1.0: USB hub found
[   66.169433] hub 1-0:1.0: 1 port detected
[   66.170501] NET: Registered protocol family 2
[   66.170745] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[   66.171325] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[   66.171722] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[   66.171966] TCP: Hash tables configured (established 16384 bind 16384)
[   66.171997] TCP reno registered
[   66.172058] UDP hash table entries: 256 (order: 0, 4096 bytes)
[   66.172088] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[   66.172363] NET: Registered protocol family 1
[   66.172790] RPC: Registered udp transport module.
[   66.172851] RPC: Registered tcp transport module.
[   66.172882] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   66.173187] Trying to unpack rootfs image as initramfs...
[   66.176055] rootfs image is not initramfs (no cpio magic); looks like an initrd
[   66.741271] Freeing initrd memory: 131072K
[   66.742065] omap-iommu omap-iommu.0: isp registered
[   66.743927] VFS: Disk quotas dquot_6.5.2
[   66.744049] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[   66.745239] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[   66.746124] JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[   66.746948] msgmni has been set to 874
[   66.750671] alg: No test for stdrng (krng)
[   66.750976] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[   66.751037] io scheduler noop registered
[   66.751068] io scheduler deadline registered
[   66.751220] io scheduler cfq registered (default)
[   66.807617] OMAP DSS rev 2.0
[   66.807678] OMAP DISPC rev 3.0
[   66.807769] OMAP VENC rev 2
[   66.808013] OMAP DSI rev 1.0
[   67.144470] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[   67.162353] serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654
[   67.179565] serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654
[   67.196746] serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654
[   67.796722] console [ttyS2] enabled
[   67.806976] brd: module loaded
[   67.813385] loop: module loaded
[   67.817687] omap2-nand driver initializing
[   67.822113] No NAND device found!!!
[   67.825836] No NAND device found!!!
[   67.830352] usbcore: registered new interface driver catc
[   67.835876] catc: v2.8:CATC EL1210A NetMate USB Ethernet driver
[   67.841949] usbcore: registered new interface driver kaweth
[   67.847625] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
[   67.855285] usbcore: registered new interface driver pegasus
[   67.860992] rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
[   67.868011] usbcore: registered new interface driver rtl8150
[   67.873840] usbcore: registered new interface driver asix
[   67.879394] usbcore: registered new interface driver cdc_ether
[   67.885345] usbcore: registered new interface driver dm9601
[   67.891113] usbcore: registered new interface driver smsc95xx
[   67.897003] usbcore: registered new interface driver gl620a
[   67.902740] usbcore: registered new interface driver net1080
[   67.908538] usbcore: registered new interface driver plusb
[   67.914184] usbcore: registered new interface driver rndis_host
[   67.920257] usbcore: registered new interface driver cdc_subset
[   67.926330] usbcore: registered new interface driver zaurus
[   67.932037] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[   67.940124] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   67.947021] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
[   67.953094] ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2
[   67.960754] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800
[   67.979400] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
[   67.985321] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[   67.992218] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   67.999511] usb usb2: Product: OMAP-EHCI Host Controller
[   68.004913] usb usb2: Manufacturer: Linux 2.6.32 ehci_hcd
[   68.010375] usb usb2: SerialNumber: ehci-omap.0
[   68.015655] hub 2-0:1.0: USB hub found
[   68.019531] hub 2-0:1.0: 3 ports detected
[   68.049804] Initializing USB Mass Storage driver...
[   68.054901] usbcore: registered new interface driver usb-storage
[   68.061004] USB Mass Storage support registered.
[   68.066040] mice: PS/2 mouse device common for all mice
[   68.071716] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[   68.079589] input: twl4030_pwrbutton as /devices/platform/i2c_omap.1/i2c-1/1-0049/twl4030_pwrbutton/input/input1
[   68.090362] i2c /dev entries driver
[   68.094451] Linux video capture interface: v2.00
[   68.099456] omap-iommu omap-iommu.0: isp: version 1.1
[   68.105895] vpfe_init
[   68.108764] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[   68.221923] mmci-omap-hs mmci-omap-hs.1: err -16 configuring card detect
[   68.229003] Registered led device: beagleboard::usr0
[   68.234191] Registered led device: beagleboard::usr1
[   68.240814] Registered led device: beagleboard::pmu_stat
[   68.247924] usbcore: registered new interface driver usbhid
[   68.253601] usbhid: USB HID core driver
[   68.257659] Advanced Linux Sound Architecture Driver Version 1.0.21.
[   68.264587] usbcore: registered new interface driver snd-usb-audio
[   68.330627] No device for DAI omap-mcbsp-dai-0
[   68.335174] No device for DAI omap-mcbsp-dai-1
[   68.339691] No device for DAI omap-mcbsp-dai-2
[   68.344177] No device for DAI omap-mcbsp-dai-3
[   68.348693] No device for DAI omap-mcbsp-dai-4
[   68.353179] OMAP3 Beagle SoC init
[   68.357360] asoc: twl4030 <-> omap-mcbsp-dai-0 mapping ok
[   68.368774] ALSA device list:
[   68.371856]   #0: omap3beagle (twl4030)
[   68.375823] oprofile: using arm/armv7
[   68.379821] TCP cubic registered
[   68.383087] NET: Registered protocol family 17
[   68.387664] NET: Registered protocol family 15
[   68.392211] lib80211: common routines for IEEE802.11 drivers
[   68.397979] ThumbEE CPU extension supported.
[   68.402343] Power Management for TI OMAP3.
[   68.406860] usb 2-2: new high speed USB device using ehci-omap and address 2
[   68.414978] Unable to set L3 frequency (400000000)
[   68.419921] Switched to new clocking rate (Crystal/Core/MPU): 26.0/332/1000 MHz
[   68.427337] IVA2 clocking rate: 800 MHz
[   68.596557] SmartReflex driver initialized
[   68.600799] omap3beaglelmb: Driver registration complete
[   68.611511] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[   68.619812] registered taskstats version 1
[   68.624664] fbcvt: 1024x768@60: CVT Name - .786M3-R
[   68.722015] usb 2-2: New USB device found, idVendor=0424, idProduct=9514
[   68.728790] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[   68.743133] Console: switching to colour frame buffer device 128x48
[   68.756652] hub 2-2:1.0: USB hub found
[   68.762817] hub 2-2:1.0: 5 ports detected
[   68.766967] regulator_init_complete: incomplete constraints, leaving VAUX4 on
[   68.774353] regulator_init_complete: incomplete constraints, leaving VAUX3 on
[   68.782165] regulator_init_complete: incomplete constraints, leaving VDAC on
[   68.789550] omap_vout omap_vout: probed for an unknown device
[   68.796508] RAMDISK: gzip image found at block 0
[   68.932678] mmc0: new high speed SDHC card at address 1234
[   68.948272] mmcblk0: mmc0:1234 SA04G 3.67 GiB
[   68.953125]  mmcblk0: p1 p2
[   69.081817] usb 2-2.1: new high speed USB device using ehci-omap and address 3
[   69.215911] usb 2-2.1: New USB device found, idVendor=0424, idProduct=ec00
[   69.229614] usb 2-2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[   69.248626] smsc95xx v1.0.4
[   69.343872] usb0: register 'smsc95xx' at usb-ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet, 22:44:84:e2:ca:f9
[   71.429687] VFS: Mounted root (ext2 filesystem) on device 1:0.
[   71.438354] devtmpfs: mounted
[   71.443817] Freeing init memory: 204K

INIT: version 2.86 booting

Please wait: booting...
Starting udev
[   73.628021] FAT: bogus number of reserved sectors
[   73.635284] VFS: Can't find a valid FAT filesystem on dev mmcblk0.
[   74.051391] FAT: bogus number of reserved sectors
[   74.058776] VFS: Can't find a valid FAT filesystem on dev mmcblk0p2.
Remounting root file system...
Caching udev devnodes
Populating dev cache
Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
udhcpc (v1.13.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, forking to background
done.
Setting up IP spoofing protection: rp_filter.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Fri Aug 20 20:54:00 UTC 2010
hwclock: can't open '/dev/misc/rtc': No such file or directory
Configuring update-modules.
Configuring ti-dsplink-module.
Configuring ti-lpm-module.
Configuring util-linux-ng.
update-alternatives: Linking //bin/dmesg to dmesg.util-linux-ng
update-alternatives: Linking //bin/kill to kill.util-linux-ng
update-alternatives: Linking //bin/more to more.util-linux-ng
update-alternatives: Linking //sbin/mkswap to mkswap.util-linux-ng
update-alternatives: Linking //sbin/pivot_root to pivot_root.util-linux-ng
update-alternatives: Linking //sbin/sln to sln.util-linux-ng
update-alternatives: Linking //sbin/mkfs.minix to mkfs.minix.util-linux-ng
update-alternatives: Linking //sbin/fsck.minix to fsck.minix.util-linux-ng
update-alternatives: Linking //usr/bin/hexdump to hexdump.util-linux-ng
update-alternatives: Linking //usr/bin/last to last.sysvinit
update-alternatives: Linking //usr/bin/logger to logger.util-linux-ng
update-alternatives: Linking //usr/bin/mesg to mesg.sysvinit
update-alternatives: Linking //usr/bin/renice to renice.util-linux-ng
update-alternatives: Linking //usr/bin/wall to wall.sysvinit
update-alternatives: Linking //usr/bin/chfn to chfn.util-linux-ng
update-alternatives: Linking //usr/bin/newgrp to newgrp.util-linux-ng
update-alternatives: Linking //usr/bin/chsh to chsh.util-linux-ng
update-alternatives: Linking //bin/login to login.util-linux-ng
update-alternatives: Error: not linking //sbin/vipw to vipw.util-linux-ng since //sbin/vipw exists and is not a link
update-alternatives: Linking //sbin/vigr to vigr.util-linux-ng
update-alternatives: Linking //usr/bin/reset to reset.util-linux-ng
update-alternatives: Linking //usr/bin/setsid to setsid.util-linux-ng
update-alternatives: Linking //usr/bin/chrt to chrt.util-linux-ng
update-alternatives: Linking //sbin/hwclock to ../bin/busybox
update-alternatives: Linking //sbin/shutdown to shutdown.sysvinit
update-alternatives: Linking //sbin/reboot to reboot.sysvinit
update-alternatives: Linking //sbin/halt to halt.sysvinit

INIT: Entering runlevel: 5

Creating Dropbear SSH server RSA host key.
Will output 1024 bit rsa secret key to '/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCOCoZMwVprkTNHaNnmANYJZ7pwtScgwtL1yBqkXHuH3pbMhBgznK6MDYPMTeRXJRjJHtBvyfQu35Yepn3U0QzwkccAm2Kd++fo265yAe7LQTcI1nN1O+0jWArse401bU+I27Unb4RP2QnOanScVGiPxFhHgM9fqFb6IXhimEtLS+Pn root@beagleboard
Fingerprint: md5 c3:d9:32:e3:94:2c:c1:43:66:9f:8e:ab:d1:28:12:a9
Starting Dropbear SSH server: dropbear.
Starting syslogd/klogd: done

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

The Angstrom Distribution beagleboard ttyS2

Angstrom 2010.7-test-20100820 beagleboard ttyS2

beagleboard login: root
root@beagleboard:~#