https://wiki.gumstix.com/api.php?action=feedcontributions&user=Trevor+Woerner&feedformat=atom
Gumstix User Wiki - User contributions [en]
2024-03-29T01:10:16Z
User contributions
MediaWiki 1.25.3
https://wiki.gumstix.com/index.php?title=Category:How_to_-_Buildroot_overo&diff=5762
Category:How to - Buildroot overo
2012-02-09T15:21:29Z
<p>Trevor Woerner: Added more necessary adjustments for a successful image</p>
<hr />
<div>Officially Gumstix only supports building images for Overo devices using OpenEmbedded. But there are other ways of producing a root filesystem for an Overo device, for example [http://buildroot.uclibc.org/ Buildroot]. Since OE is the only official build system, it remains the best, most up-to-date place to get your cross-development toolchain, kernel, bootloader, and MLO for Overo development.<br />
<br />
For the remainder of this document I'm going to assume <tt>${OEBASE}</tt> is where you have checked out OE and <tt>${BRBASE}</tt> is the directory into which you have unpacked Buildroot.<br />
<br />
* Start off by following the official instructions for preparing your build system and checking out the OE code at [http://www.gumstix.org/software-development/open-embedded/61-using-the-open-embedded-build-system.html Using the Open Embedded Build System for Overo Series]. Follow those instructions right until the end but do not perform the last step (i.e. "<tt>$ bitbake omap3-console-image</tt>")<br />
<br />
* Replace the last instruction ("<tt>$ bitbake omap3-console-image</tt>") with the following:<br />
$ bitbake virtual/kernel<br />
$ bitbake x-load<br />
$ bitbake u-boot<br />
<br />
With these commands OE has built a cross-development toolchain for you as well as a kernel, MLO, and u-boot bootloader. For the root filesystem we now make use of Buildroot.<br />
<br />
* Go to the location where you have unpacked Buildroot and issue:<br />
$ make menuconfig<br />
<br />
(If you prefer you can use '<tt>$ make nconfig</tt>', '<tt>$ make xconfig</tt>', or '<tt>$ make gconfig</tt>' instead)<br />
<br />
* Under 'Target Architecture'<br />
* select 'arm'<br />
<br />
* Under 'Target Architecture Variant'<br />
select 'generic_arm'<br />
further down there is a '<tt>cortex_a8</tt>' option but Buildroot says the <tt>cortex_a8</tt> and <tt>cortex_a9</tt> options require gcc > 4.4.x. Currently the OE toolchain is 4.3.x. '<tt>generic_arm</tt>' seems to work fine<br />
<br />
* Under 'Toolchain'<br />
** Toolchain Type<br />
select 'External toolchain'<br />
** Toolchain<br />
'Custom toolchain'<br />
** Toolchain path<br />
enter '${OEBASE}/tmp/sysroots/x86_64-linux/usr/armv7a'<br />
(obviously if your build system is not x86 64-bit this path won't exist, look around and find your equivalent)<br />
** Toolchain prefix<br />
enter 'arm-angstrom-linux-gnueabi'<br />
** External toolchain C library<br />
select 'glibc'<br />
** Select<br />
Toolchain has C++ support<br />
* Under 'System configuration'<br />
** Port to run a getty (login prompt) on<br />
select 'ttyO2'<br />
(NOTE: that is: "tee-tee-why-(capital)Oh-two")<br />
<br />
You can leave everything else as-is, or browse around and find other things to tweak.<br />
<br />
* Exit the Buildroot configuration system and<br />
$ make<br />
<br />
Now when you assemble your Qemu image or SD card you will find your bootloader, MLO, and x-boot as usual in <tt>${OEBASE}/tmp/deploy/glibc/images/overo</tt> but your root filesystem will be found in <tt>${BRBASE}/images</tt>.<br />
<br />
By way of comparison a Qemu image created for the Overo converted to VDI format uses:<br />
* 27MB for a buildroot-based image<br />
* 272MB for a completely OE-based image<br />
<br />
<pre style="background:black;color:white"><br />
# qemu-system-arm.linaro -M overo -m 256 -clock unix -serial stdio -sd br.HDD <br />
<br />
<br />
Texas Instruments X-Loader 1.5.1 (Nov 22 2011 - 09:58:25)<br />
OMAP35XX-GP ES3.1<br />
Board revision: 0<br />
Reading boot sector<br />
Loading u-boot.bin from mmc<br />
<br />
<br />
U-Boot 2011.09 (Nov 22 2011 - 10:10:50)<br />
<br />
OMAP35XX-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 600 mHz<br />
Gumstix Overo board + LPDDR/NAND<br />
I2C: ready<br />
DRAM: 256 MiB<br />
NAND: 256 MiB<br />
MMC: OMAP SD/MMC: 0<br />
*** Warning - bad CRC, using default environment<br />
<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Board revision: 0<br />
Direct connection on mmc2<br />
No EEPROM on expansion board<br />
Die ID #51454d5551454d555400000051454d55<br />
Net: smc911x-0<br />
Hit any key to stop autoboot: 0 <br />
reading boot.scr<br />
<br />
** Unable to read "boot.scr" from mmc 0:1 **<br />
reading uImage<br />
<br />
3091316 bytes read<br />
Booting from mmc ...<br />
## Booting kernel from Legacy Image at 82000000 ...<br />
Image Name: Angstrom/3.0/overo<br />
Image Type: ARM Linux Kernel Image (uncompressed)<br />
Data Size: 3091252 Bytes = 2.9 MiB<br />
Load Address: 80008000<br />
Entry Point: 80008000<br />
Verifying Checksum ... OK<br />
Loading Kernel Image ... OK<br />
OK<br />
<br />
Starting kernel ...<br />
<br />
Uncompressing Linux... done, booting the kernel.<br />
omap2_inth_read: Bad register 0x00000020<br />
Linux version 3.0.0 (trevor@codei7) (gcc version 4.3.3 (GCC) ) #1 Mon Nov 21 17:37:48 EST 2011<br />
CPU: ARMv7 Processor [412fc083] revision 3 (ARMv7), cr=10c53c7f<br />
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache<br />
Machine: Gumstix Overo<br />
Reserving 12582912 bytes SDRAM for VRAM<br />
Memory policy: ECC disabled, Data cache writeback<br />
OMAP3430/3530 ES3.1 (iva sgx neon isp 720mhz )<br />
SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000<br />
Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz<br />
Reprogramming SDRC clock to 332000000 Hz<br />
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 61952<br />
Kernel command line: console=ttyO2,115200n8 mpurate=500 vram=12M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait<br />
PID hash table entries: 1024 (order: 0, 4096 bytes)<br />
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)<br />
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)<br />
Memory: 244MB = 244MB total<br />
Memory: 240900k/240900k available, 21244k reserved, 0K highmem<br />
Virtual kernel memory layout:<br />
vector : 0xffff0000 - 0xffff1000 ( 4 kB)<br />
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)<br />
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)<br />
vmalloc : 0xd0800000 - 0xf8000000 ( 632 MB)<br />
lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)<br />
modules : 0xbf000000 - 0xc0000000 ( 16 MB)<br />
.init : 0xc0008000 - 0xc003b000 ( 204 kB)<br />
.text : 0xc003b000 - 0xc05ce764 (5710 kB)<br />
.data : 0xc05d0000 - 0xc061ea10 ( 315 kB)<br />
.bss : 0xc061ea34 - 0xc068291c ( 400 kB)<br />
NR_IRQS:410<br />
IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts<br />
Total of 96 interrupts on 1 active controller<br />
OMAP clockevent source: GPTIMER1 at 32768 Hz<br />
sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms<br />
Console: colour dummy device 80x30<br />
Calibrating delay loop... 435.38 BogoMIPS (lpj=1701888)<br />
pid_max: default: 32768 minimum: 301<br />
Mount-cache hash table entries: 512<br />
CPU: Testing write buffer coherency: ok<br />
devtmpfs: initialized<br />
omap_hwmod: gpt12_fck: missing clockdomain for gpt12_fck.<br />
omap_hwmod: am35x_otg_hs: cannot be enabled (3)<br />
print_constraints: dummy: <br />
NET: Registered protocol family 16<br />
GPMC revision 5.0<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
omap_mux_init: Add partition: #1: core, flags: 0<br />
Found NAND on CS0<br />
Registering NAND on CS0<br />
platform iva.0: Enabled OPP corresponding to 720MHz<br />
hw-breakpoint: debug architecture 0x0 unsupported.<br />
omap_device: omap-mcbsp.2: alias fck already exists<br />
omap_device: omap-mcbsp.3: alias fck already exists<br />
Switched to new clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz<br />
OMAP DMA hardware revision 4.0<br />
bio: create slab <bio-0> at 0<br />
print_constraints: vads7846: 3300 mV <br />
SCSI subsystem initialized<br />
usbcore: registered new interface driver usbfs<br />
usbcore: registered new interface driver hub<br />
usbcore: registered new device driver usb<br />
omap_i2c omap_i2c.1: bus 1 rev3.12 at 2600 kHz<br />
twl4030: PIH (irq 7) chaining IRQs 368..375<br />
twl4030: power (irq 373) chaining IRQs 376..383<br />
twl4030: gpio (irq 368) chaining IRQs 384..401<br />
print_constraints: VUSB1V5: 1500 mV normal standby<br />
print_constraints: VUSB1V8: 1800 mV normal standby<br />
print_constraints: VUSB3V1: 3100 mV normal standby<br />
twl4030_usb twl4030_usb: Initialized TWL4030 USB module<br />
print_constraints: VMMC1: 1850 <--> 3150 mV at 3150 mV normal standby<br />
print_constraints: VDAC: 1800 mV normal standby<br />
print_constraints: VDVI: 1800 mV normal standby<br />
omap_i2c omap_i2c.3: bus 3 rev3.12 at 400 kHz<br />
Advanced Linux Sound Architecture Driver Version 1.0.24.<br />
Bluetooth: Core ver 2.16<br />
NET: Registered protocol family 31<br />
Bluetooth: HCI device and connection manager initialized<br />
Bluetooth: HCI socket layer initialized<br />
Bluetooth: L2CAP socket layer initialized<br />
Bluetooth: SCO socket layer initialized<br />
Switching to clocksource 32k_counter<br />
Switched to NOHz mode on CPU #0<br />
musb-hdrc: version 6.0, musb-dma, host<br />
musb-hdrc musb-hdrc: MUSB HDRC host driver<br />
musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1<br />
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002<br />
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1<br />
usb usb1: Product: MUSB HDRC host driver<br />
usb usb1: Manufacturer: Linux 3.0.0 musb-hcd<br />
usb usb1: SerialNumber: musb-hdrc<br />
hub 1-0:1.0: USB hub found<br />
hub 1-0:1.0: 1 port detected<br />
musb-hdrc musb-hdrc: USB Host mode controller at fa0ab000 using DMA, IRQ 92<br />
NET: Registered protocol family 2<br />
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)<br />
TCP established hash table entries: 8192 (order: 4, 65536 bytes)<br />
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)<br />
TCP: Hash tables configured (established 8192 bind 8192)<br />
TCP reno registered<br />
UDP hash table entries: 256 (order: 0, 4096 bytes)<br />
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)<br />
NET: Registered protocol family 1<br />
RPC: Registered named UNIX socket transport module.<br />
RPC: Registered udp transport module.<br />
RPC: Registered tcp transport module.<br />
RPC: Registered tcp NFSv4.1 backchannel transport module.<br />
platform iva.0: Enabled OPP corresponding to 720MHz<br />
omap-iommu omap-iommu.0: isp registered<br />
VFS: Disk quotas dquot_6.5.2<br />
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)<br />
Registering unionfs 2.5.9.2 (for 3.0.0-rc4)<br />
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.<br />
msgmni has been set to 470<br />
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)<br />
io scheduler noop registered<br />
io scheduler deadline registered<br />
io scheduler cfq registered (default)<br />
OMAP DSS rev 2.0<br />
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled<br />
omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0<br />
omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1<br />
omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2<br />
console [ttyO2] enabled<br />
brd: module loaded<br />
loop: module loaded<br />
omap2-nand driver initializing<br />
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit)<br />
Creating 5 MTD partitions on "omap2-nand.0":<br />
0x000000000000-0x000000080000 : "xloader"<br />
0x000000080000-0x000000240000 : "uboot"<br />
0x000000240000-0x000000280000 : "uboot environment"<br />
0x000000280000-0x000000680000 : "linux"<br />
0x000000680000-0x000010000000 : "rootfs"<br />
smsc911x: Driver version 2008-10-21<br />
smsc911x-mdio: probed<br />
smsc911x smsc911x.0: eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)<br />
smsc911x smsc911x.0: eth0: MAC Address: 52:54:00:12:34:56<br />
smsc911x: Driver version 2008-10-21<br />
usbcore: registered new interface driver asix<br />
usbcore: registered new interface driver cdc_ether<br />
cdc_ncm: 01-June-2011<br />
usbcore: registered new interface driver cdc_ncm<br />
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver<br />
ehci-omap ehci-omap.0: OMAP-EHCI Host Controller<br />
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2<br />
ehci-omap ehci-omap.0: irq 77, io mem 0x48064800<br />
ehci-omap ehci-omap.0: USB 2.0 started, EHCI 0.00<br />
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002<br />
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1<br />
usb usb2: Product: OMAP-EHCI Host Controller<br />
usb usb2: Manufacturer: Linux 3.0.0 ehci_hcd<br />
usb usb2: SerialNumber: ehci-omap.0<br />
hub 2-0:1.0: USB hub found<br />
hub 2-0:1.0: 0 ports detected<br />
Initializing USB Mass Storage driver...<br />
usbcore: registered new interface driver usb-storage<br />
USB Mass Storage support registered.<br />
mousedev: PS/2 mouse device common for all mice<br />
twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0<br />
twl_rtc twl_rtc: Power up reset detected.<br />
i2c /dev entries driver<br />
OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec<br />
Bluetooth: HCI UART driver ver 2.2<br />
Bluetooth: HCI H4 protocol initialized<br />
Bluetooth: HCI BCSP protocol initialized<br />
Bluetooth: HCILL protocol initialized<br />
cpuidle: using governor ladder<br />
cpuidle: using governor menu<br />
usbcore: registered new interface driver usbhid<br />
usbhid: USB HID core driver<br />
usbcore: registered new interface driver snd-usb-audio<br />
overo SoC init<br />
mmc0: host does not support reading read-only switch. assuming write-enable.<br />
mmc0: new SD card at address 4567<br />
mmcblk0: mmc0:4567 QEMU! 1.00 GiB <br />
mmcblk0: p1 p2<br />
asoc: twl4030-hifi <-> omap-mcbsp-dai.1 mapping ok<br />
ALSA device list:<br />
#0: overo<br />
oprofile: hardware counters not available<br />
oprofile: using timer interrupt.<br />
TCP cubic registered<br />
NET: Registered protocol family 17<br />
NET: Registered protocol family 15<br />
Bluetooth: RFCOMM TTY layer initialized<br />
Bluetooth: RFCOMM socket layer initialized<br />
Bluetooth: RFCOMM ver 1.11<br />
Bluetooth: BNEP (Ethernet Emulation) ver 1.3<br />
Bluetooth: BNEP filters: protocol multicast<br />
Bluetooth: HIDP (Human Interface Emulation) ver 1.2<br />
Registering the dns_resolver key type<br />
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2<br />
ThumbEE CPU extension supported.<br />
omap_vp_forceupdate_scale: vdd_mpu_iva TRANXDONE timeout exceeded while tryingto clear the TRANXDONE status<br />
omap_vp_forceupdate_scale: vdd_core TRANXDONE timeout exceeded while tryingto clear the TRANXDONE status<br />
sr_init: No PMIC hook to init smartreflex<br />
smartreflex smartreflex.0: omap_sr_probe: SmartReflex driver initialized<br />
smartreflex smartreflex.1: omap_sr_probe: SmartReflex driver initialized<br />
clock: disabling unused clocks to save power<br />
fbcvt: 1024x768@60: CVT Name - .786M3-R<br />
Console: switching to colour frame buffer device 128x48<br />
regulator_init_complete: VDAC: incomplete constraints, leaving on<br />
regulator_init_complete: vads7846: incomplete constraints, leaving on<br />
twl_rtc twl_rtc: setting system clock to 2011-11-22 16:31:42 UTC (1321979502)<br />
EXT3-fs: barriers not enabled<br />
kjournald starting. Commit interval 5 seconds<br />
EXT3-fs (mmcblk0p2): using internal journal<br />
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode<br />
VFS: Mounted root (ext3 filesystem) on device 179:2.<br />
devtmpfs: mounted<br />
Freeing init memory: 204K<br />
Starting logging: OK<br />
Initializing random number generator... done.<br />
Starting network...<br />
<br />
Welcome to Buildroot<br />
buildroot login:<br />
</pre></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_emulation_in_qemu&diff=5715
Overo emulation in qemu
2011-11-22T17:06:01Z
<p>Trevor Woerner: update to include general purpose qemu image generating script</p>
<hr />
<div>__TOC__<br />
[[Category:How to - qemu]]<br />
<br />
Ash Charles has been working with Riku from the Qemu-linaro team to get support for the Overo hardware working in Qemu!<br />
<br />
==Pre-Compiled Images==<br />
<br />
Here are Ash's steps for working with pre-compiled images:<br />
<br />
* binary executable for qemu available here (for x86_64):<br />
::http://dl.dropbox.com/u/211887/qemu-system-arm<br />
::MD5:c375b7d0338e3e8cd7009e69f3aaae74<br />
<br />
* overo angstrom image with a kernel, MLO, u-boot packed:<br />
::http://dl.dropbox.com/u/211887/overo.img.gz<br />
::MD5:3545dbd2e7ffac3d352a7bc9e92373bf<br />
<br />
* download, gunzip the overo.img.gz and run with:<br />
::<code># ./qemu-system-arm -M overo -m 256 -sd ./overo.img -clock unix -serial stdio</code><br />
::(mouse & keyboard don't work currently but the console session is usable)<br />
<br />
==From Sources==<br />
<br />
* build your overo image using bitbake/OE as usual:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ bitbake omap3-console-image</code><br />
<br />
* build the MLO program:<br />
::<code>$ bitbake x-load</code><br />
<br />
* get the sources for and build qemu with overo support:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ git clone git://git.linaro.org/qemu/qemu-linaro.git</code><br />
::<code>$ cd qemu</code><br />
::<code>$ ./configure --prefix=$OVEROTOP/local --target-list=arm-softmmu</code><br />
::<code>$ make install</code><br />
::<code>$ export PATH=$OVEROTOP/local/bin:$PATH</code><br />
<br />
* there are numerous ways to generate the qemu image file:<br />
::<code># export OEDONE=$OETMP/deploy/glibc/images/overo</code><br />
** Ash Charles [[Overo_qemu_script|wrote a script]] specifically for generating Overo qemu images:<br />
::<code># assemble-image.sh $OVEROTOP/overo.img $OEDONE/MLO-overo $OEDONE/u-boot-overo.bin $OEDONE/uImage-overo.bin $OEDONE/omap3-console-image-overo.tar.bz2</code><br />
** or using a more [https://github.com/twoerner/qemu-image-builder general-purpose script] for generating qemu images which includes support for Overo:<br />
::<code># mkqemuimg.sh --partpercents 5 --format ",mkfs.ext3" --bootarm "$OEDONE/MLO-overo,$OEDONE/u-boot-overo.bin,$OEDONE/uImage-overo.bin" 1073741824 $OVEROTOP/overo.img ",$OEDONE/omap3-console-image-overo.tar.bz2"<br />
<br />
* then run the image under qemu:<br />
::<code># qemu-system-arm -M overo -m 256 -sd $OVEROTOP/overo.img -clock unix -serial stdio -net user -device usb-kbd -device usb-mouse</code></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Main_Page&diff=5714
Main Page
2011-11-22T16:47:12Z
<p>Trevor Woerner: Add overo buildroot page, move 1-wire link to top of sort</p>
<hr />
<div><big>''Welcome to the Gumstix User Wiki''</big> <br />
<br />
This site is provided so that users of the Gumstix OpenEmbedded build system can share their knowledge, showcase their Gumstix-based projects, and pass on links to other sources of information and materials. This information is entirely user generated and supported. Please contribute your know-how to help your fellow developers.<br />
<br />
'''Customer additions and edits are encouraged, but please read the help page before you make any major edits.'''<br />
''Note: you will need to create a new user account if you would like to contribute or edit content on this site.''<br />
<br />
Go to the [http://gumstix.org Gumstix Developer's website] for official Gumstix supported documentation on OpenEmbedded and other information of interest to developers:<br />
<br />
{|<br />
| valign="top" |<br />
{|cellpadding="2" cellspacing="5" style="vertical-align:top;background-color:#f5fffa;border:1px solid #bcc"<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:How-tos |User how to's - Focus]]<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:How-tos |User how to's]]<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:How-tos |User how to's]]<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:How-tos |User how to's]]<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:How-tos |User how to's]]<br />
<br />
|-<br />
| valign="top" |<br />
* [[:Category:how to - Android|Android]]<br />
* [[:Category:how to - eclipse|Eclipse]]<br />
* [[:Category:How_to_-_Migrate_to_Gumstix|Migrate to Gumstix]]<br />
* [[Linaro]]<br />
* [[:Category:how to - Ubuntu|Ubuntu]]<br />
| valign="top" |<br />
* [[1-wire|1-wire]]<br />
* [[:Category:how to - audio|Audio]]<br />
* [[:Category:how to - adc|ADC]]<br />
* [[AutoLogin|Automatic Logins]]<br />
* [[:Category:how to - batteries|Batteries]]<br />
* [[:Category:how to - bluetooth|Bluetooth]]<br />
* [[:Category:how to - Buildroot overo|Buildroot (overo)]]<br />
* [[:Category:Connect_hardware|Connect Hardware]]<br />
* [[Caspa_camera_boards|Caspa camera boards]]<br />
* [[:Category:how to - displays|Displays]]<br />
* [[:Category:how to - DSP|DSP]]<br />
* [[:Category:how_to_-_ethernet|Ethernet]]<br />
* [[:Category:how_to_-_expansion_boards|Expansion Boards]]<br />
* [[:Category:how to - fedora|Fedora]]<br />
* [[:Category:how to - Fast Boot|Fast Boot]]<br />
* [[:Category:how to - Fortran|Fortran]]<br />
<br />
<br />
| valign="top" |<br />
* [[Gaining Console Connection via Terminal]]<br />
* [[:Category:how to - git|Git]]<br />
* [[GPIO|GPIO]]<br />
* [[GPS|GPS]]<br />
* [[:Category:how to - gui|GUI]]<br />
* [[:Category:how to - general|General]]<br />
* [[:Category:how to - Build helloworld|HelloWorld]]<br />
* [[HelloWorld|HelloWorld in Python, C, C++]]<br />
* [[HelloWorld in Java|HelloWorld in Java]]<br />
* [[:Category:how to - i2c|I2C]]<br />
* [[:Category:how to - IMU|IMU]]<br />
* [[:Category:how to - JAVA|JAVA]]<br />
* [[Kernel Reconfiguration|Kernel Reconfiguration]]<br />
* [[:Category:how to - Known Issues|Known Issues]]<br />
* [[:Category:how to - LCD|LCD]]<br />
* [[:Category:how to - Low Power|Low Power]]<br />
| valign="top" |<br />
* [[:Category:how to - linux|Linux]]<br />
* [[AudioIn | Use a microphone]]<br />
* [[MicroSd |MicroSD Duplication]]<br />
* [[:Category:how to - Network_Boot|Network Boot]]<br />
* [[:Category:how to - OpenEmbedded|OpenEmbedded]]<br />
* [[:Category:how to - player|Player]]<br />
* [[:Category:How to - PWM|PWM]]<br />
* [[:Category:How_to_-_qemu|Qemu]]<br />
* [[:Category:How_to_-_Qt|Qt]]<br />
* [[:Category:how to - robotics|Robotics]]<br />
* [[ROS|ROS]]<br />
* [[RoboVero|RoboVero]]<br />
* [[:Category:how to - security|Security]]<br />
* [[:Category:SPI|SPI]]<br />
| valign="top" |<br />
* [[:Category:SUSE|SUSE]]<br />
* [[Remote Debugging with GDB|Remote Debugging with GDB]]<br />
* [[U-Boot|UBoot]]<br />
* [[:Category:how to - usb|USB]]<br />
* [[Verdex Git Repository]]<br />
* [[Verdex JTAG]]<br />
* [[VerdexPro U-Boot Flashing Fix]]<br />
* [[:Category:how to - virtual machine|Virtual Machine]]<br />
* [[:Category:how to - webcams|Webcams]]<br />
* [[:Category:how to - wifi|Wifi]]<br />
<br />
|}<br />
<br />
<br />
{|<br />
| valign="top" |<br />
{|cellpadding="2" cellspacing="5" style="vertical-align:top;background-color:#f5fffa;border:1px solid #bcc"<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:projects|User projects]]<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:User_pics_videos|User Pics & Videos]]<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:resources|Resources]]<br />
! style="margin:0;background:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3b0bf;text-align:left;color:#000;padding:0.2em 0.4em;" | [[:Category:faqs|Questions and Answers]]<br />
<br />
|-<br />
| valign="top" |<br />
* [[:Category:projects - audio|Audio]]<br />
* [[:Category:projects - competitions|Competitions]]<br />
* [[:Category:projects - displays|Displays]]<br />
* [[:Category:projects - pdas|PDA's]]<br />
* [[:Category:Projects_-Research_and_Education|Research & Education]]<br />
* [[:Category:projects - monitoring and control|Monitoring and Control]]<br />
* [[:Category:projects - robotics|Robotics & UAV's]]<br />
| valign="top" |<br />
* [http://www.youtube.com/results?uploaded=m&search_query=gumstix&search_type=videos&suggested_categories=28&uni=3&search_sort=video_date_uploaded Gumstix on Youtube]<br />
* [http://www.flickr.com/search/?q=gumstix&s=rec Gumstix in Flickr]<br />
* [http://www.cs.umd.edu/alandaluz/nchen/ebook/dualdisp-chi.mov Dual Display device at UMD]<br />
| valign="top" |<br />
* [[Windows CE solution|Solutions for Windows CE]]<br />
* [[Qt solution|Solutions for Qt]]<br />
* [[Manufacturer's specifications|Specifications for Processors & Components]]<br />
* [[Software information]]<br />
* [[Supported hardware]]<br />
* [[Third Party Boards]]<br />
| valign="top" |<br />
Gumstix Community Mailing List (no cost)<br />
* [https://lists.sourceforge.net/lists/listinfo/gumstix-users Sign-up]<br />
* [http://old.nabble.com/Gumstix-f22543.html Archives]<br />
|}<br />
<br />
<br />
<br />
<br />
For information and support for the legacy gumstix buildroot build system:<br />
[http://docwiki.gumstix.com/Main_Page docwiki.gumstix.com]<br />
.</div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Category:How_to_-_Buildroot_overo&diff=5713
Category:How to - Buildroot overo
2011-11-22T16:42:00Z
<p>Trevor Woerner: instructions for building a root filesystem for Overo using Buildroot</p>
<hr />
<div>Officially Gumstix only supports building images for Overo devices using OpenEmbedded. But there are other ways of producing a root filesystem for an Overo device, for example [http://buildroot.uclibc.org/ Buildroot]. Since OE is the only official build system, it remains the best, most up-to-date place to get your cross-development toolchain, kernel, bootloader, and MLO for Overo development.<br />
<br />
For the remainder of this document I'm going to assume <tt>${OEBASE}</tt> is where you have checked out OE and <tt>${BRBASE}</tt> is the directory into which you have unpacked Buildroot.<br />
<br />
* Start off by following the official instructions for preparing your build system and checking out the OE code at [http://www.gumstix.org/software-development/open-embedded/61-using-the-open-embedded-build-system.html Using the Open Embedded Build System for Overo Series]. Follow those instructions right until the end but do not perform the last step (i.e. "<tt>$ bitbake omap3-console-image</tt>")<br />
<br />
* Replace the last instruction ("<tt>$ bitbake omap3-console-image</tt>") with the following:<br />
$ bitbake virtual/kernel<br />
$ bitbake x-load<br />
$ bitbake u-boot<br />
<br />
With these commands OE has built a cross-development toolchain for you as well as a kernel, MLO, and u-boot bootloader. For the root filesystem we now make use of Buildroot.<br />
<br />
* Go to the location where you have unpacked Buildroot and issue:<br />
$ make menuconfig<br />
<br />
(If you prefer you can use '<tt>$ make nconfig</tt>', '<tt>$ make xconfig</tt>', or '<tt>$ make gconfig</tt>' instead)<br />
<br />
* Under 'Target Architecture'<br />
* select 'arm'<br />
<br />
* Under 'Target Architecture Variant'<br />
select 'generic_arm'<br />
further down there is a '<tt>cortex_a8</tt>' option but Buildroot says the <tt>cortex_a8</tt> and <tt>cortex_a9</tt> options require gcc > 4.4.x. Currently the OE toolchain is 4.3.x. '<tt>generic_arm</tt>' seems to work fine<br />
<br />
* Under 'Toolchain'<br />
** Toolchain Type<br />
select 'External toolchain'<br />
** Toolchain<br />
'Custom toolchain'<br />
** Toolchain path<br />
enter '${OEBASE}/tmp/sysroots/x86_64-linux/usr/armv7a'<br />
(obviously if your build system is not x86 64-bit this path won't exist, look around and find your equivalent)<br />
** Toolchain prefix<br />
enter 'arm-angstrom-linux-gnueabi'<br />
<br />
You can leave everything else as-is, or browse around and find other things to tweak.<br />
<br />
* Exit the Buildroot configuration system and<br />
$ make<br />
<br />
Now when you assemble your Qemu image or SD card you will find your bootloader, MLO, and x-boot as usual in <tt>${OEBASE}/tmp/deploy/glibc/images/overo</tt> but your root filesystem will be found in <tt>${BRBASE}/images</tt>.<br />
<br />
By way of comparison a Qemu image created for the Overo converted to VDI format uses:<br />
* 27MB for a buildroot-based image<br />
* 272MB for a completely OE-based image<br />
<br />
<pre style="background:black;color:white"><br />
# qemu-system-arm.linaro -M overo -m 256 -clock unix -serial stdio -sd br.HDD <br />
<br />
<br />
Texas Instruments X-Loader 1.5.1 (Nov 22 2011 - 09:58:25)<br />
OMAP35XX-GP ES3.1<br />
Board revision: 0<br />
Reading boot sector<br />
Loading u-boot.bin from mmc<br />
<br />
<br />
U-Boot 2011.09 (Nov 22 2011 - 10:10:50)<br />
<br />
OMAP35XX-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 600 mHz<br />
Gumstix Overo board + LPDDR/NAND<br />
I2C: ready<br />
DRAM: 256 MiB<br />
NAND: 256 MiB<br />
MMC: OMAP SD/MMC: 0<br />
*** Warning - bad CRC, using default environment<br />
<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Board revision: 0<br />
Direct connection on mmc2<br />
No EEPROM on expansion board<br />
Die ID #51454d5551454d555400000051454d55<br />
Net: smc911x-0<br />
Hit any key to stop autoboot: 0 <br />
reading boot.scr<br />
<br />
** Unable to read "boot.scr" from mmc 0:1 **<br />
reading uImage<br />
<br />
3091316 bytes read<br />
Booting from mmc ...<br />
## Booting kernel from Legacy Image at 82000000 ...<br />
Image Name: Angstrom/3.0/overo<br />
Image Type: ARM Linux Kernel Image (uncompressed)<br />
Data Size: 3091252 Bytes = 2.9 MiB<br />
Load Address: 80008000<br />
Entry Point: 80008000<br />
Verifying Checksum ... OK<br />
Loading Kernel Image ... OK<br />
OK<br />
<br />
Starting kernel ...<br />
<br />
Uncompressing Linux... done, booting the kernel.<br />
omap2_inth_read: Bad register 0x00000020<br />
Linux version 3.0.0 (trevor@codei7) (gcc version 4.3.3 (GCC) ) #1 Mon Nov 21 17:37:48 EST 2011<br />
CPU: ARMv7 Processor [412fc083] revision 3 (ARMv7), cr=10c53c7f<br />
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache<br />
Machine: Gumstix Overo<br />
Reserving 12582912 bytes SDRAM for VRAM<br />
Memory policy: ECC disabled, Data cache writeback<br />
OMAP3430/3530 ES3.1 (iva sgx neon isp 720mhz )<br />
SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000<br />
Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz<br />
Reprogramming SDRC clock to 332000000 Hz<br />
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 61952<br />
Kernel command line: console=ttyO2,115200n8 mpurate=500 vram=12M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait<br />
PID hash table entries: 1024 (order: 0, 4096 bytes)<br />
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)<br />
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)<br />
Memory: 244MB = 244MB total<br />
Memory: 240900k/240900k available, 21244k reserved, 0K highmem<br />
Virtual kernel memory layout:<br />
vector : 0xffff0000 - 0xffff1000 ( 4 kB)<br />
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)<br />
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)<br />
vmalloc : 0xd0800000 - 0xf8000000 ( 632 MB)<br />
lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)<br />
modules : 0xbf000000 - 0xc0000000 ( 16 MB)<br />
.init : 0xc0008000 - 0xc003b000 ( 204 kB)<br />
.text : 0xc003b000 - 0xc05ce764 (5710 kB)<br />
.data : 0xc05d0000 - 0xc061ea10 ( 315 kB)<br />
.bss : 0xc061ea34 - 0xc068291c ( 400 kB)<br />
NR_IRQS:410<br />
IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts<br />
Total of 96 interrupts on 1 active controller<br />
OMAP clockevent source: GPTIMER1 at 32768 Hz<br />
sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms<br />
Console: colour dummy device 80x30<br />
Calibrating delay loop... 435.38 BogoMIPS (lpj=1701888)<br />
pid_max: default: 32768 minimum: 301<br />
Mount-cache hash table entries: 512<br />
CPU: Testing write buffer coherency: ok<br />
devtmpfs: initialized<br />
omap_hwmod: gpt12_fck: missing clockdomain for gpt12_fck.<br />
omap_hwmod: am35x_otg_hs: cannot be enabled (3)<br />
print_constraints: dummy: <br />
NET: Registered protocol family 16<br />
GPMC revision 5.0<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
OMAP GPIO hardware version 2.5<br />
omap_mux_init: Add partition: #1: core, flags: 0<br />
Found NAND on CS0<br />
Registering NAND on CS0<br />
platform iva.0: Enabled OPP corresponding to 720MHz<br />
hw-breakpoint: debug architecture 0x0 unsupported.<br />
omap_device: omap-mcbsp.2: alias fck already exists<br />
omap_device: omap-mcbsp.3: alias fck already exists<br />
Switched to new clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz<br />
OMAP DMA hardware revision 4.0<br />
bio: create slab <bio-0> at 0<br />
print_constraints: vads7846: 3300 mV <br />
SCSI subsystem initialized<br />
usbcore: registered new interface driver usbfs<br />
usbcore: registered new interface driver hub<br />
usbcore: registered new device driver usb<br />
omap_i2c omap_i2c.1: bus 1 rev3.12 at 2600 kHz<br />
twl4030: PIH (irq 7) chaining IRQs 368..375<br />
twl4030: power (irq 373) chaining IRQs 376..383<br />
twl4030: gpio (irq 368) chaining IRQs 384..401<br />
print_constraints: VUSB1V5: 1500 mV normal standby<br />
print_constraints: VUSB1V8: 1800 mV normal standby<br />
print_constraints: VUSB3V1: 3100 mV normal standby<br />
twl4030_usb twl4030_usb: Initialized TWL4030 USB module<br />
print_constraints: VMMC1: 1850 <--> 3150 mV at 3150 mV normal standby<br />
print_constraints: VDAC: 1800 mV normal standby<br />
print_constraints: VDVI: 1800 mV normal standby<br />
omap_i2c omap_i2c.3: bus 3 rev3.12 at 400 kHz<br />
Advanced Linux Sound Architecture Driver Version 1.0.24.<br />
Bluetooth: Core ver 2.16<br />
NET: Registered protocol family 31<br />
Bluetooth: HCI device and connection manager initialized<br />
Bluetooth: HCI socket layer initialized<br />
Bluetooth: L2CAP socket layer initialized<br />
Bluetooth: SCO socket layer initialized<br />
Switching to clocksource 32k_counter<br />
Switched to NOHz mode on CPU #0<br />
musb-hdrc: version 6.0, musb-dma, host<br />
musb-hdrc musb-hdrc: MUSB HDRC host driver<br />
musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1<br />
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002<br />
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1<br />
usb usb1: Product: MUSB HDRC host driver<br />
usb usb1: Manufacturer: Linux 3.0.0 musb-hcd<br />
usb usb1: SerialNumber: musb-hdrc<br />
hub 1-0:1.0: USB hub found<br />
hub 1-0:1.0: 1 port detected<br />
musb-hdrc musb-hdrc: USB Host mode controller at fa0ab000 using DMA, IRQ 92<br />
NET: Registered protocol family 2<br />
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)<br />
TCP established hash table entries: 8192 (order: 4, 65536 bytes)<br />
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)<br />
TCP: Hash tables configured (established 8192 bind 8192)<br />
TCP reno registered<br />
UDP hash table entries: 256 (order: 0, 4096 bytes)<br />
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)<br />
NET: Registered protocol family 1<br />
RPC: Registered named UNIX socket transport module.<br />
RPC: Registered udp transport module.<br />
RPC: Registered tcp transport module.<br />
RPC: Registered tcp NFSv4.1 backchannel transport module.<br />
platform iva.0: Enabled OPP corresponding to 720MHz<br />
omap-iommu omap-iommu.0: isp registered<br />
VFS: Disk quotas dquot_6.5.2<br />
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)<br />
Registering unionfs 2.5.9.2 (for 3.0.0-rc4)<br />
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.<br />
msgmni has been set to 470<br />
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)<br />
io scheduler noop registered<br />
io scheduler deadline registered<br />
io scheduler cfq registered (default)<br />
OMAP DSS rev 2.0<br />
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled<br />
omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0<br />
omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1<br />
omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2<br />
console [ttyO2] enabled<br />
brd: module loaded<br />
loop: module loaded<br />
omap2-nand driver initializing<br />
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit)<br />
Creating 5 MTD partitions on "omap2-nand.0":<br />
0x000000000000-0x000000080000 : "xloader"<br />
0x000000080000-0x000000240000 : "uboot"<br />
0x000000240000-0x000000280000 : "uboot environment"<br />
0x000000280000-0x000000680000 : "linux"<br />
0x000000680000-0x000010000000 : "rootfs"<br />
smsc911x: Driver version 2008-10-21<br />
smsc911x-mdio: probed<br />
smsc911x smsc911x.0: eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)<br />
smsc911x smsc911x.0: eth0: MAC Address: 52:54:00:12:34:56<br />
smsc911x: Driver version 2008-10-21<br />
usbcore: registered new interface driver asix<br />
usbcore: registered new interface driver cdc_ether<br />
cdc_ncm: 01-June-2011<br />
usbcore: registered new interface driver cdc_ncm<br />
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver<br />
ehci-omap ehci-omap.0: OMAP-EHCI Host Controller<br />
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2<br />
ehci-omap ehci-omap.0: irq 77, io mem 0x48064800<br />
ehci-omap ehci-omap.0: USB 2.0 started, EHCI 0.00<br />
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002<br />
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1<br />
usb usb2: Product: OMAP-EHCI Host Controller<br />
usb usb2: Manufacturer: Linux 3.0.0 ehci_hcd<br />
usb usb2: SerialNumber: ehci-omap.0<br />
hub 2-0:1.0: USB hub found<br />
hub 2-0:1.0: 0 ports detected<br />
Initializing USB Mass Storage driver...<br />
usbcore: registered new interface driver usb-storage<br />
USB Mass Storage support registered.<br />
mousedev: PS/2 mouse device common for all mice<br />
twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0<br />
twl_rtc twl_rtc: Power up reset detected.<br />
i2c /dev entries driver<br />
OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec<br />
Bluetooth: HCI UART driver ver 2.2<br />
Bluetooth: HCI H4 protocol initialized<br />
Bluetooth: HCI BCSP protocol initialized<br />
Bluetooth: HCILL protocol initialized<br />
cpuidle: using governor ladder<br />
cpuidle: using governor menu<br />
usbcore: registered new interface driver usbhid<br />
usbhid: USB HID core driver<br />
usbcore: registered new interface driver snd-usb-audio<br />
overo SoC init<br />
mmc0: host does not support reading read-only switch. assuming write-enable.<br />
mmc0: new SD card at address 4567<br />
mmcblk0: mmc0:4567 QEMU! 1.00 GiB <br />
mmcblk0: p1 p2<br />
asoc: twl4030-hifi <-> omap-mcbsp-dai.1 mapping ok<br />
ALSA device list:<br />
#0: overo<br />
oprofile: hardware counters not available<br />
oprofile: using timer interrupt.<br />
TCP cubic registered<br />
NET: Registered protocol family 17<br />
NET: Registered protocol family 15<br />
Bluetooth: RFCOMM TTY layer initialized<br />
Bluetooth: RFCOMM socket layer initialized<br />
Bluetooth: RFCOMM ver 1.11<br />
Bluetooth: BNEP (Ethernet Emulation) ver 1.3<br />
Bluetooth: BNEP filters: protocol multicast<br />
Bluetooth: HIDP (Human Interface Emulation) ver 1.2<br />
Registering the dns_resolver key type<br />
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2<br />
ThumbEE CPU extension supported.<br />
omap_vp_forceupdate_scale: vdd_mpu_iva TRANXDONE timeout exceeded while tryingto clear the TRANXDONE status<br />
omap_vp_forceupdate_scale: vdd_core TRANXDONE timeout exceeded while tryingto clear the TRANXDONE status<br />
sr_init: No PMIC hook to init smartreflex<br />
smartreflex smartreflex.0: omap_sr_probe: SmartReflex driver initialized<br />
smartreflex smartreflex.1: omap_sr_probe: SmartReflex driver initialized<br />
clock: disabling unused clocks to save power<br />
fbcvt: 1024x768@60: CVT Name - .786M3-R<br />
Console: switching to colour frame buffer device 128x48<br />
regulator_init_complete: VDAC: incomplete constraints, leaving on<br />
regulator_init_complete: vads7846: incomplete constraints, leaving on<br />
twl_rtc twl_rtc: setting system clock to 2011-11-22 16:31:42 UTC (1321979502)<br />
EXT3-fs: barriers not enabled<br />
kjournald starting. Commit interval 5 seconds<br />
EXT3-fs (mmcblk0p2): using internal journal<br />
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode<br />
VFS: Mounted root (ext3 filesystem) on device 179:2.<br />
devtmpfs: mounted<br />
Freeing init memory: 204K<br />
Starting logging: OK<br />
Initializing random number generator... done.<br />
Starting network...<br />
<br />
Welcome to Buildroot<br />
buildroot login:<br />
</pre></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Category:How_to_-_Buildroot_overo&diff=5712
Category:How to - Buildroot overo
2011-11-22T16:20:13Z
<p>Trevor Woerner: instructions for how to build a root filesystem for Overo using Buildroot</p>
<hr />
<div>Officially Gumstix only supports building images for Overo devices using OpenEmbedded. But there are other ways of producing a root filesystem for an Overo device, for example [http://buildroot.uclibc.org/ Buildroot]. Since OE is the only official build system, it remains the best, most up-to-date place to get your cross-development toolchain, kernel, bootloader, and MLO for Overo development.<br />
<br />
For the remainder of this document I'm going to assume <tt>${OEBASE}</tt> is where you have checked out OE and <tt>${BRBASE}</tt> is the directory into which you have unpacked Buildroot.<br />
<br />
* Start off by following the official instructions for preparing your build system and checking out the OE code at [http://www.gumstix.org/software-development/open-embedded/61-using-the-open-embedded-build-system.html Using the Open Embedded Build System for Overo Series]. Follow those instructions right until the end but do not perform the last step (i.e. "<tt>$ bitbake omap3-console-image</tt>")<br />
<br />
* Replace the last instruction ("<tt>$ bitbake omap3-console-image</tt>") with the following:<br />
$ bitbake virtual/kernel<br />
$ bitbake x-load<br />
$ bitbake u-boot<br />
<br />
With these commands OE has built a cross-development toolchain for you as well as a kernel, MLO, and u-boot bootloader. For the root filesystem we now make use of Buildroot.<br />
<br />
* Go to the location where you have unpacked Buildroot and issue:<br />
$ make menuconfig<br />
<br />
(If you prefer you can use '<tt>$ make nconfig</tt>', '<tt>$ make xconfig</tt>', or '<tt>$ make gconfig</tt>' instead)<br />
<br />
* Under 'Target Architecture'<br />
* select 'arm'<br />
<br />
* Under 'Target Architecture Variant'<br />
select 'generic_arm'<br />
further down there is a '<tt>cortex_a8</tt>' option but Buildroot says the <tt>cortex_a8</tt> and <tt>cortex_a9</tt> options require gcc > 4.4.x. Currently the OE toolchain is 4.3.x. '<tt>generic_arm</tt>' seems to work fine<br />
<br />
* Under 'Toolchain'<br />
** Toolchain Type<br />
select 'External toolchain'<br />
** Toolchain<br />
'Custom toolchain'<br />
** Toolchain path<br />
enter '${OEBASE}/tmp/sysroots/x86_64-linux/usr/armv7a'<br />
(obviously if your build system is not x86 64-bit this path won't exist, look around and find your equivalent)<br />
** Toolchain prefix<br />
enter 'arm-angstrom-linux-gnueabi'<br />
<br />
You can leave everything else as-is, or browse around and find other things to tweak.<br />
<br />
* Exit the Buildroot configuration system and<br />
$ make<br />
<br />
Now when you assemble your Qemu image or SD card you will find your bootloader, MLO, and x-boot as usual in <tt>${OEBASE}/tmp/deploy/glibc/images/overo</tt> but your root filesystem will be found in <tt>${BRBASE}/images</tt></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_emulation_in_qemu&diff=5711
Overo emulation in qemu
2011-11-22T15:28:51Z
<p>Trevor Woerner: Undo revision 5707, '$' indicates commands which can be performed with regular privileges, '#' requires elevated privileges</p>
<hr />
<div>__TOC__<br />
[[Category:How to - qemu]]<br />
<br />
Ash Charles has been working with Riku from the Qemu-linaro team to get support for the Overo hardware working in Qemu!<br />
<br />
==Pre-Compiled Images==<br />
<br />
Here are Ash's steps for working with pre-compiled images:<br />
<br />
* binary executable for qemu available here (for x86_64):<br />
::http://dl.dropbox.com/u/211887/qemu-system-arm<br />
::MD5:c375b7d0338e3e8cd7009e69f3aaae74<br />
<br />
* overo angstrom image with a kernel, MLO, u-boot packed:<br />
::http://dl.dropbox.com/u/211887/overo.img.gz<br />
::MD5:3545dbd2e7ffac3d352a7bc9e92373bf<br />
<br />
* download, gunzip the overo.img.gz and run with:<br />
::<code># ./qemu-system-arm -M overo -m 256 -sd ./overo.img -clock unix -serial stdio</code><br />
::(mouse & keyboard don't work currently but the console session is usable)<br />
<br />
==From Sources==<br />
<br />
* build your overo image using bitbake/OE as usual:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ bitbake omap3-console-image</code><br />
<br />
* build the MLO program:<br />
::<code>$ bitbake x-load</code><br />
<br />
* get the sources for and build qemu with overo support:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ git clone git://git.linaro.org/qemu/qemu-linaro.git</code><br />
::<code>$ cd qemu</code><br />
::<code>$ ./configure --prefix=$OVEROTOP/local --target-list=arm-softmmu</code><br />
::<code>$ make install</code><br />
::<code>$ export PATH=$OVEROTOP/local/bin:$PATH</code><br />
<br />
* use [[Overo_qemu_script|Ash's supplied script]] to generate a qemu image:<br />
::<code># export OEDONE=$OETMP/deploy/glibc/images/overo</code><br />
::<code># assemble-image.sh $OVEROTOP/overo.img $OEDONE/MLO-overo $OEDONE/u-boot-overo.bin $OEDONE/uImage-overo.bin $OEDONE/omap3-console-image-overo.tar.bz2</code><br />
<br />
* then run the image under qemu:<br />
::<code># qemu-system-arm -M overo -m 256 -sd $OVEROTOP/overo.img -clock unix -serial stdio -net user -device usb-kbd -device usb-mouse</code></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Category:How_to_-_OpenEmbedded&diff=5600
Category:How to - OpenEmbedded
2011-07-07T17:48:42Z
<p>Trevor Woerner: fix link - it pointed to a "getting started" page instead of the OE instructions for overo</p>
<hr />
<div>Gumstix uses the OpenEmbedded build environment so developers can create a complete Linux Distribution for embedded systems.<br />
<br />
== Overo ==<br />
Instructions for setting up an OE build environment for the Overo series have been posted on www.gumstix.org [http://gumstix.org/software-development/open-embedded/61-using-the-open-embedded-build-system.html here].<br />
<br />
== Verdex Pro ==<br />
Instructions for setting up an OE build environment for the Verdex Pro series have been posted in various places at various times. As of Oct2010, the current instructions are [http://www.gumstix.net/wiki/index.php?title=Verdex_Git_Repository here] <font color=red>(Broken Link)</font>. They tell you how to build a filesystem image out of your own Git repository with the current kernel (2.6.32 in Oct2010).<br />
Cautions: the build tree can take up over 30 GB unless you add 'INHERIT += rm_work' to your local.conf; by default, the generated filesystem is bigger than Verdex Flash and can be loaded on a specially partitioned MMC card (instructions linked from the page).<br />
<br />
Instructions for building a 2.6.21 kernel and appropriate filesystem, from OE and SVN, are [http://www.gumstix.net/Setup-and-Programming/cat/Build-system-overview/111.html here] <font color=red>(Broken Link)</font>. As of Oct2010, some of the download URLs are stale, but you should be able to fix all problems by Googling for the error messages.<br />
<br />
The old Buildroot documentation for 2.6.21gum kernels is still [http://docwiki.gumstix.org/Buildroot here]. As of Oct2010, many of the download links are stale, but individual packages are available [http://www.daimi.au.dk/~spider/gumstix/gumstix-buildroot/dl/ here] or by Googling the individual package names as they come up in error messages.<br />
<br />
'''Kernel'''<br />
There are numerous methods of kernel development; some consider Buildroot the most straightforward. Those using OE may find these links offer useful workflows for kernel development:<br />
* http://ao2.it/en/blog/2010/05/27/neat-compilerun-cycle-git-and-openembedded<br />
* http://bec-systems.com/site/521/best-practices-for-kernel-development-with-openembedded<br />
* http://blogs.elphel.com/2009/12/openembeddedangstrom-kernel-workflow/<br />
<br />
<br />
To directly cross-compile the 2.6.21 kernel from the OE/SVN tree try these commands:<br />
source ${GUMSTIX_TOP}/extras/profile<br />
cd ${GUMSTIX_TOP}/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21<br />
make ARCH=arm CROSS_COMPILE=${GUMSTIX_TOP}/tmp/cross/bin/arm-angstrom-linux-gnueabi-</div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_emulation_in_qemu&diff=5599
Overo emulation in qemu
2011-07-07T17:15:46Z
<p>Trevor Woerner: </p>
<hr />
<div>__TOC__<br />
[[Category:How to - qemu]]<br />
<br />
Ash Charles has been working with Riku from the Qemu-linaro team to get support for the Overo hardware working in Qemu!<br />
<br />
==Pre-Compiled Images==<br />
<br />
Here are Ash's steps for working with pre-compiled images:<br />
<br />
* binary executable for qemu available here (for x86_64):<br />
::http://dl.dropbox.com/u/211887/qemu-system-arm<br />
::MD5:c375b7d0338e3e8cd7009e69f3aaae74<br />
<br />
* overo angstrom image with a kernel, MLO, u-boot packed:<br />
::http://dl.dropbox.com/u/211887/overo.img.gz<br />
::MD5:3545dbd2e7ffac3d352a7bc9e92373bf<br />
<br />
* download, gunzip the overo.img.gz and run with:<br />
::<code># ./qemu-system-arm -M overo -m 256 -sd ./overo.img -clock unix -serial stdio</code><br />
::(mouse & keyboard don't work currently but the console session is usable)<br />
<br />
==From Sources==<br />
<br />
* build your overo image using bitbake/OE as usual:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ bitbake omap3-console-image</code><br />
<br />
* build the MLO program:<br />
::<code>$ bitbake x-load</code><br />
<br />
* get the sources for and build qemu with overo support:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ git clone git://git.linaro.org/people/rikuvoipio/qemu.git</code><br />
::<code>$ cd qemu</code><br />
::<code>$ git checkout overo</code><br />
::<code>$ ./configure --prefix=$OVEROTOP/local --target-list=arm-softmmu</code><br />
::<code>$ make install</code><br />
::<code>$ export PATH=$OVEROTOP/local/bin:$PATH</code><br />
<br />
* use [[Overo_qemu_script|Ash's supplied script]] to generate a qemu image:<br />
::<code># export OEDONE=$OETMP/deploy/glibc/images/overo</code><br />
::<code># assemble-image.sh $OVEROTOP/overo.img $OEDONE/MLO-overo $OEDONE/u-boot-overo.bin $OEDONE/uImage-overo.bin $OEDONE/omap3-console-image-overo.tar.bz2</code><br />
<br />
* then run the image under qemu:<br />
::<code># qemu-system-arm -M overo -m 256 -sd $OVEROTOP/overo.img -clock unix -serial stdio</code></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_qemu_script&diff=5598
Overo qemu script
2011-07-07T17:15:30Z
<p>Trevor Woerner: </p>
<hr />
<div>[[Category:How to - qemu]]<br />
<pre><br />
#!/bin/bash<br />
# This script generates SD card disk images suitable for use with QEMU.<br />
#<br />
# Copyright (C) 2011 Ash Charles<br />
# Based on:<br />
# Narcissus - Online image builder for the angstrom distribution<br />
# Copyright (C) 2008 - 2011 Koen Kooi<br />
# Copyright (C) 2010 Denys Dmytriyenko<br />
# and<br />
# Linaro Images Tools.<br />
# Author: Guilherme Salgado <guilherme.salgado@linaro.org><br />
#<br />
# This program is free software; you can redistribute it and/or modify<br />
# it under the terms of the GNU General Public License version 2 as<br />
# published by the Free Software Foundation.<br />
#<br />
# This program is distributed in the hope that it will be useful,<br />
# but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br />
# GNU General Public License for more details.<br />
#<br />
# You should have received a copy of the GNU General Public License along<br />
# with this program; if not, write to the Free Software Foundation, Inc.,<br />
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.<br />
<br />
LC_ALL=C<br />
set -e<br />
<br />
function usage()<br />
{<br />
echo "This utility generates SD card images suitable for use with QEMU."<br />
echo "Usage:"<br />
echo " $0 <output name> <mlo> <u-boot> <kernel> <rootfs>"<br />
echo "Example:"<br />
echo " $0 sd.img ~/MLO ~/u-boot.bin ~/uImage ~/rootfs.tar.bz2"<br />
}<br />
<br />
function check_args()<br />
{<br />
echo $#<br />
if [ $# -ne 5 ]; then<br />
usage<br />
exit 1<br />
fi<br />
OUTFILE=$1<br />
MLO=$2<br />
UBOOT=$3<br />
KERNEL=$4<br />
ROOTFS=$5<br />
<br />
if ! [[ -e ${MLO} ]]; then<br />
echo "MLO not found at ${MLO}! Quitting..."<br />
exit 1<br />
fi<br />
if ! [[ -e ${UBOOT} ]]; then<br />
echo "U-boot not found at ${UBOOT}! Quitting..."<br />
exit 1<br />
fi<br />
if ! [[ -e ${KERNEL} ]]; then<br />
echo "Kernel not found at ${KERNEL}! Quitting..."<br />
exit 1<br />
fi<br />
if ! [[ -e ${ROOTFS} ]]; then<br />
echo "Rootfs not found at ${ROOTFS}! Quitting..."<br />
exit 1<br />
fi<br />
}<br />
<br />
SIZE=1073741824 # 1G by default<br />
<br />
function make_image()<br />
{<br />
qemu-img create -f raw ${OUTFILE} ${SIZE}<br />
<br />
CYLINDERS=`echo ${SIZE}/255/63/512 | bc`<br />
{<br />
echo ,9,0x0C,*<br />
echo ,,,-<br />
} | sfdisk -D -H 255 -S 63 -C ${CYLINDERS} ${OUTFILE} &> /dev/null<br />
<br />
# Reverse-engineer the partition setup<br />
BYTES_PER_SECTOR="$(/sbin/fdisk -l -u ${OUTFILE} | grep Units | awk '{print $9}')"<br />
VFAT_SECTOR_OFFSET="$(/sbin/fdisk -l -u ${OUTFILE} | grep img1 | awk '{print $3}')"<br />
EXT3_SECTOR_OFFSET="$(/sbin/fdisk -l -u ${OUTFILE} | grep img2 | awk '{print $2}')"<br />
}<br />
<br />
<br />
<br />
function populate_image() <br />
{<br />
LOOP_DEV="/dev/loop1"<br />
LOOP_DEV_FS="/dev/loop2"<br />
<br />
echo "[ Format vfat partition ]"<br />
/sbin/losetup -v -o $(expr ${BYTES_PER_SECTOR} "*" ${VFAT_SECTOR_OFFSET}) ${LOOP_DEV} ${OUTFILE}<br />
mkfs.vfat -F 32 -n "boot" ${LOOP_DEV}<br />
<br />
echo "[ Format ext3 partition ]"<br />
/sbin/losetup -v -o $(expr ${BYTES_PER_SECTOR} "*" ${EXT3_SECTOR_OFFSET}) ${LOOP_DEV_FS} ${OUTFILE}<br />
/sbin/mkfs.ext3 -L rootfs ${LOOP_DEV_FS}<br />
<br />
echo "[ Copying files to vfat ]"<br />
mount ${LOOP_DEV} /mnt<br />
cp -v ${MLO} /mnt/MLO<br />
cp -v ${UBOOT} /mnt/u-boot.bin<br />
cp -v ${KERNEL} /mnt/uImage<br />
umount ${LOOP_DEV}<br />
<br />
echo "[ Copying file system ]"<br />
mount ${LOOP_DEV_FS} /mnt<br />
tar xaf ${ROOTFS} -C /mnt<br />
umount ${LOOP_DEV_FS}<br />
<br />
echo "[ Clean up ]"<br />
/sbin/losetup -d ${LOOP_DEV}<br />
/sbin/losetup -d ${LOOP_DEV_FS}<br />
}<br />
<br />
ARGS=$*<br />
check_args $ARGS<br />
make_image<br />
populate_image<br />
</pre></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_qemu_script&diff=5597
Overo qemu script
2011-07-07T17:13:12Z
<p>Trevor Woerner: Script for generating an Overo Qemu image</p>
<hr />
<div><pre><br />
#!/bin/bash<br />
# This script generates SD card disk images suitable for use with QEMU.<br />
#<br />
# Copyright (C) 2011 Ash Charles<br />
# Based on:<br />
# Narcissus - Online image builder for the angstrom distribution<br />
# Copyright (C) 2008 - 2011 Koen Kooi<br />
# Copyright (C) 2010 Denys Dmytriyenko<br />
# and<br />
# Linaro Images Tools.<br />
# Author: Guilherme Salgado <guilherme.salgado@linaro.org><br />
#<br />
# This program is free software; you can redistribute it and/or modify<br />
# it under the terms of the GNU General Public License version 2 as<br />
# published by the Free Software Foundation.<br />
#<br />
# This program is distributed in the hope that it will be useful,<br />
# but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br />
# GNU General Public License for more details.<br />
#<br />
# You should have received a copy of the GNU General Public License along<br />
# with this program; if not, write to the Free Software Foundation, Inc.,<br />
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.<br />
<br />
LC_ALL=C<br />
set -e<br />
<br />
function usage()<br />
{<br />
echo "This utility generates SD card images suitable for use with QEMU."<br />
echo "Usage:"<br />
echo " $0 <output name> <mlo> <u-boot> <kernel> <rootfs>"<br />
echo "Example:"<br />
echo " $0 sd.img ~/MLO ~/u-boot.bin ~/uImage ~/rootfs.tar.bz2"<br />
}<br />
<br />
function check_args()<br />
{<br />
echo $#<br />
if [ $# -ne 5 ]; then<br />
usage<br />
exit 1<br />
fi<br />
OUTFILE=$1<br />
MLO=$2<br />
UBOOT=$3<br />
KERNEL=$4<br />
ROOTFS=$5<br />
<br />
if ! [[ -e ${MLO} ]]; then<br />
echo "MLO not found at ${MLO}! Quitting..."<br />
exit 1<br />
fi<br />
if ! [[ -e ${UBOOT} ]]; then<br />
echo "U-boot not found at ${UBOOT}! Quitting..."<br />
exit 1<br />
fi<br />
if ! [[ -e ${KERNEL} ]]; then<br />
echo "Kernel not found at ${KERNEL}! Quitting..."<br />
exit 1<br />
fi<br />
if ! [[ -e ${ROOTFS} ]]; then<br />
echo "Rootfs not found at ${ROOTFS}! Quitting..."<br />
exit 1<br />
fi<br />
}<br />
<br />
SIZE=1073741824 # 1G by default<br />
<br />
function make_image()<br />
{<br />
qemu-img create -f raw ${OUTFILE} ${SIZE}<br />
<br />
CYLINDERS=`echo ${SIZE}/255/63/512 | bc`<br />
{<br />
echo ,9,0x0C,*<br />
echo ,,,-<br />
} | sfdisk -D -H 255 -S 63 -C ${CYLINDERS} ${OUTFILE} &> /dev/null<br />
<br />
# Reverse-engineer the partition setup<br />
BYTES_PER_SECTOR="$(/sbin/fdisk -l -u ${OUTFILE} | grep Units | awk '{print $9}')"<br />
VFAT_SECTOR_OFFSET="$(/sbin/fdisk -l -u ${OUTFILE} | grep img1 | awk '{print $3}')"<br />
EXT3_SECTOR_OFFSET="$(/sbin/fdisk -l -u ${OUTFILE} | grep img2 | awk '{print $2}')"<br />
}<br />
<br />
<br />
<br />
function populate_image() <br />
{<br />
LOOP_DEV="/dev/loop1"<br />
LOOP_DEV_FS="/dev/loop2"<br />
<br />
echo "[ Format vfat partition ]"<br />
/sbin/losetup -v -o $(expr ${BYTES_PER_SECTOR} "*" ${VFAT_SECTOR_OFFSET}) ${LOOP_DEV} ${OUTFILE}<br />
mkfs.vfat -F 32 -n "boot" ${LOOP_DEV}<br />
<br />
echo "[ Format ext3 partition ]"<br />
/sbin/losetup -v -o $(expr ${BYTES_PER_SECTOR} "*" ${EXT3_SECTOR_OFFSET}) ${LOOP_DEV_FS} ${OUTFILE}<br />
/sbin/mkfs.ext3 -L rootfs ${LOOP_DEV_FS}<br />
<br />
echo "[ Copying files to vfat ]"<br />
mount ${LOOP_DEV} /mnt<br />
cp -v ${MLO} /mnt/MLO<br />
cp -v ${UBOOT} /mnt/u-boot.bin<br />
cp -v ${KERNEL} /mnt/uImage<br />
umount ${LOOP_DEV}<br />
<br />
echo "[ Copying file system ]"<br />
mount ${LOOP_DEV_FS} /mnt<br />
tar xaf ${ROOTFS} -C /mnt<br />
umount ${LOOP_DEV_FS}<br />
<br />
echo "[ Clean up ]"<br />
/sbin/losetup -d ${LOOP_DEV}<br />
/sbin/losetup -d ${LOOP_DEV_FS}<br />
}<br />
<br />
ARGS=$*<br />
check_args $ARGS<br />
make_image<br />
populate_image<br />
</pre></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_emulation_in_qemu&diff=5596
Overo emulation in qemu
2011-07-07T17:08:33Z
<p>Trevor Woerner: </p>
<hr />
<div>__TOC__<br />
[[Category:How to - qemu]]<br />
<br />
Ash Charles has been working with Riku from the Qemu-linaro team to get support for the Overo hardware working in Qemu!<br />
<br />
==Pre-Compiled Images==<br />
<br />
Here are Ash's steps for working with pre-compiled images:<br />
<br />
* binary executable for qemu available here (for x86_64):<br />
::http://dl.dropbox.com/u/211887/qemu-system-arm<br />
::MD5:c375b7d0338e3e8cd7009e69f3aaae74<br />
<br />
* overo angstrom image with a kernel, MLO, u-boot packed:<br />
::http://dl.dropbox.com/u/211887/overo.img.gz<br />
::MD5:3545dbd2e7ffac3d352a7bc9e92373bf<br />
<br />
* download, gunzip the overo.img.gz and run with:<br />
::<code># ./qemu-system-arm -M overo -m 256 -sd ./overo.img -clock unix -serial stdio</code><br />
::(mouse & keyboard don't work currently but the console session is usable)<br />
<br />
==From Sources==<br />
<br />
* build your overo image using bitbake/OE as usual:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ bitbake omap3-console-image</code><br />
<br />
* build the MLO program:<br />
::<code>$ bitbake x-load</code><br />
<br />
* get the sources for and build qemu with overo support:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ git clone git://git.linaro.org/people/rikuvoipio/qemu.git</code><br />
::<code>$ cd qemu</code><br />
::<code>$ git checkout overo</code><br />
::<code>$ ./configure --prefix=$OVEROTOP/local --target-list=arm-softmmu</code><br />
::<code>$ make install</code><br />
::<code>$ export PATH=$OVEROTOP/local/bin:$PATH</code><br />
<br />
* use Ash's supplied script to generate a qemu image:<br />
::<code># export OEDONE=$OETMP/deploy/glibc/images/overo</code><br />
::<code># assemble-image.sh $OVEROTOP/overo.img $OEDONE/MLO-overo $OEDONE/u-boot-overo.bin $OEDONE/uImage-overo.bin $OEDONE/omap3-console-image-overo.tar.bz2</code><br />
<br />
* then run the image under qemu:<br />
::<code># qemu-system-arm -M overo -m 256 -sd $OVEROTOP/overo.img -clock unix -serial stdio</code></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_emulation_in_qemu&diff=5595
Overo emulation in qemu
2011-07-07T17:07:37Z
<p>Trevor Woerner: </p>
<hr />
<div>__TOC__<br />
[[Category:Qemu]]<br />
<br />
Ash Charles has been working with Riku from the Qemu-linaro team to get support for the Overo hardware working in Qemu!<br />
<br />
==Pre-Compiled Images==<br />
<br />
Here are Ash's steps for working with pre-compiled images:<br />
<br />
* binary executable for qemu available here (for x86_64):<br />
::http://dl.dropbox.com/u/211887/qemu-system-arm<br />
::MD5:c375b7d0338e3e8cd7009e69f3aaae74<br />
<br />
* overo angstrom image with a kernel, MLO, u-boot packed:<br />
::http://dl.dropbox.com/u/211887/overo.img.gz<br />
::MD5:3545dbd2e7ffac3d352a7bc9e92373bf<br />
<br />
* download, gunzip the overo.img.gz and run with:<br />
::<code># ./qemu-system-arm -M overo -m 256 -sd ./overo.img -clock unix -serial stdio</code><br />
::(mouse & keyboard don't work currently but the console session is usable)<br />
<br />
==From Sources==<br />
<br />
* build your overo image using bitbake/OE as usual:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ bitbake omap3-console-image</code><br />
<br />
* build the MLO program:<br />
::<code>$ bitbake x-load</code><br />
<br />
* get the sources for and build qemu with overo support:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ git clone git://git.linaro.org/people/rikuvoipio/qemu.git</code><br />
::<code>$ cd qemu</code><br />
::<code>$ git checkout overo</code><br />
::<code>$ ./configure --prefix=$OVEROTOP/local --target-list=arm-softmmu</code><br />
::<code>$ make install</code><br />
::<code>$ export PATH=$OVEROTOP/local/bin:$PATH</code><br />
<br />
* use Ash's supplied script to generate a qemu image:<br />
::<code># export OEDONE=$OETMP/deploy/glibc/images/overo</code><br />
::<code># assemble-image.sh $OVEROTOP/overo.img $OEDONE/MLO-overo $OEDONE/u-boot-overo.bin $OEDONE/uImage-overo.bin $OEDONE/omap3-console-image-overo.tar.bz2</code><br />
<br />
* then run the image under qemu:<br />
::<code># qemu-system-arm -M overo -m 256 -sd $OVEROTOP/overo.img -clock unix -serial stdio</code></div>
Trevor Woerner
https://wiki.gumstix.com/index.php?title=Overo_emulation_in_qemu&diff=5594
Overo emulation in qemu
2011-07-07T17:04:07Z
<p>Trevor Woerner: Running Overo images under Qemu</p>
<hr />
<div>__TOC__<br />
<br />
Ash Charles has been working with Riku from the Qemu-linaro team to get support for the Overo hardware working in Qemu!<br />
<br />
==Pre-Compiled Images==<br />
<br />
Here are Ash's steps for working with pre-compiled images:<br />
<br />
* binary executable for qemu available here (for x86_64):<br />
::http://dl.dropbox.com/u/211887/qemu-system-arm<br />
::MD5:c375b7d0338e3e8cd7009e69f3aaae74<br />
<br />
* overo angstrom image with a kernel, MLO, u-boot packed:<br />
::http://dl.dropbox.com/u/211887/overo.img.gz<br />
::MD5:3545dbd2e7ffac3d352a7bc9e92373bf<br />
<br />
* download, gunzip the overo.img.gz and run with:<br />
::<code># ./qemu-system-arm -M overo -m 256 -sd ./overo.img -clock unix -serial stdio</code><br />
::(mouse & keyboard don't work currently but the console session is usable)<br />
<br />
==From Sources==<br />
<br />
* build your overo image using bitbake/OE as usual:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ bitbake omap3-console-image</code><br />
<br />
* build the MLO program:<br />
::<code>$ bitbake x-load</code><br />
<br />
* get the sources for and build qemu with overo support:<br />
::<code>$ cd $OVEROTOP</code><br />
::<code>$ git clone git://git.linaro.org/people/rikuvoipio/qemu.git</code><br />
::<code>$ cd qemu</code><br />
::<code>$ git checkout overo</code><br />
::<code>$ ./configure --prefix=$OVEROTOP/local --target-list=arm-softmmu</code><br />
::<code>$ make install</code><br />
::<code>$ export PATH=$OVEROTOP/local/bin:$PATH</code><br />
<br />
* use Ash's supplied script to generate a qemu image:<br />
::<code># export OEDONE=$OETMP/deploy/glibc/images/overo</code><br />
::<code># assemble-image.sh $OVEROTOP/overo.img $OEDONE/MLO-overo $OEDONE/u-boot-overo.bin $OEDONE/uImage-overo.bin $OEDONE/omap3-console-image-overo.tar.bz2</code><br />
<br />
* then run the image under qemu:<br />
::<code># qemu-system-arm -M overo -m 256 -sd $OVEROTOP/overo.img -clock unix -serial stdio</code></div>
Trevor Woerner