<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.gumstix.com/index.php?action=history&amp;feed=atom&amp;title=Overo_qemu_script</id>
		<title>Overo qemu script - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.gumstix.com/index.php?action=history&amp;feed=atom&amp;title=Overo_qemu_script"/>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Overo_qemu_script&amp;action=history"/>
		<updated>2026-04-07T02:26:04Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.25.3</generator>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Overo_qemu_script&amp;diff=5598&amp;oldid=prev</id>
		<title>Trevor Woerner at 17:15, 7 July 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Overo_qemu_script&amp;diff=5598&amp;oldid=prev"/>
				<updated>2011-07-07T17:15:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 17:15, 7 July 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:How to - qemu]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Trevor Woerner</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Overo_qemu_script&amp;diff=5597&amp;oldid=prev</id>
		<title>Trevor Woerner: Script for generating an Overo Qemu image</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Overo_qemu_script&amp;diff=5597&amp;oldid=prev"/>
				<updated>2011-07-07T17:13:12Z</updated>
		
		<summary type="html">&lt;p&gt;Script for generating an Overo Qemu image&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# This script generates SD card disk images suitable for use with QEMU.&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2011 Ash Charles&lt;br /&gt;
# Based on:&lt;br /&gt;
#   Narcissus - Online image builder for the angstrom distribution&lt;br /&gt;
#   Copyright (C) 2008 - 2011 Koen Kooi&lt;br /&gt;
#   Copyright (C) 2010        Denys Dmytriyenko&lt;br /&gt;
# and&lt;br /&gt;
#   Linaro Images Tools.&lt;br /&gt;
#   Author: Guilherme Salgado &amp;lt;guilherme.salgado@linaro.org&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or modify&lt;br /&gt;
# it under the terms of the GNU General Public License version 2 as&lt;br /&gt;
# published by the Free Software Foundation.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License along&lt;br /&gt;
# with this program; if not, write to the Free Software Foundation, Inc.,&lt;br /&gt;
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.&lt;br /&gt;
&lt;br /&gt;
LC_ALL=C&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
function usage()&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;This utility generates SD card images suitable for use with QEMU.&amp;quot;&lt;br /&gt;
    echo &amp;quot;Usage:&amp;quot;&lt;br /&gt;
    echo &amp;quot;  $0 &amp;lt;output name&amp;gt; &amp;lt;mlo&amp;gt; &amp;lt;u-boot&amp;gt; &amp;lt;kernel&amp;gt; &amp;lt;rootfs&amp;gt;&amp;quot;&lt;br /&gt;
    echo &amp;quot;Example:&amp;quot;&lt;br /&gt;
    echo &amp;quot;  $0 sd.img ~/MLO ~/u-boot.bin ~/uImage ~/rootfs.tar.bz2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function check_args()&lt;br /&gt;
{&lt;br /&gt;
    echo $#&lt;br /&gt;
    if [ $# -ne 5 ]; then&lt;br /&gt;
        usage&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    OUTFILE=$1&lt;br /&gt;
    MLO=$2&lt;br /&gt;
    UBOOT=$3&lt;br /&gt;
    KERNEL=$4&lt;br /&gt;
    ROOTFS=$5&lt;br /&gt;
    &lt;br /&gt;
    if ! [[ -e ${MLO} ]]; then&lt;br /&gt;
        echo &amp;quot;MLO not found at ${MLO}! Quitting...&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    if ! [[ -e ${UBOOT} ]]; then&lt;br /&gt;
        echo &amp;quot;U-boot not found at ${UBOOT}! Quitting...&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    if ! [[ -e ${KERNEL} ]]; then&lt;br /&gt;
        echo &amp;quot;Kernel not found at ${KERNEL}! Quitting...&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    if ! [[ -e ${ROOTFS} ]]; then&lt;br /&gt;
        echo &amp;quot;Rootfs not found at ${ROOTFS}! Quitting...&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
SIZE=1073741824 # 1G by default&lt;br /&gt;
&lt;br /&gt;
function make_image()&lt;br /&gt;
{&lt;br /&gt;
    qemu-img create -f raw ${OUTFILE} ${SIZE}&lt;br /&gt;
    &lt;br /&gt;
    CYLINDERS=`echo ${SIZE}/255/63/512 | bc`&lt;br /&gt;
    {&lt;br /&gt;
    echo ,9,0x0C,*&lt;br /&gt;
    echo ,,,-&lt;br /&gt;
    } | sfdisk -D -H 255 -S 63 -C ${CYLINDERS} ${OUTFILE} &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
    &lt;br /&gt;
    # Reverse-engineer the partition setup&lt;br /&gt;
    BYTES_PER_SECTOR=&amp;quot;$(/sbin/fdisk -l -u ${OUTFILE} | grep Units | awk '{print $9}')&amp;quot;&lt;br /&gt;
    VFAT_SECTOR_OFFSET=&amp;quot;$(/sbin/fdisk -l -u ${OUTFILE} | grep img1 | awk '{print $3}')&amp;quot;&lt;br /&gt;
    EXT3_SECTOR_OFFSET=&amp;quot;$(/sbin/fdisk -l -u ${OUTFILE} | grep img2 | awk '{print $2}')&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function populate_image() &lt;br /&gt;
{&lt;br /&gt;
    LOOP_DEV=&amp;quot;/dev/loop1&amp;quot;&lt;br /&gt;
    LOOP_DEV_FS=&amp;quot;/dev/loop2&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;[ Format vfat partition ]&amp;quot;&lt;br /&gt;
    /sbin/losetup -v -o $(expr ${BYTES_PER_SECTOR} &amp;quot;*&amp;quot; ${VFAT_SECTOR_OFFSET}) ${LOOP_DEV} ${OUTFILE}&lt;br /&gt;
    mkfs.vfat -F 32 -n &amp;quot;boot&amp;quot; ${LOOP_DEV}&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;[ Format ext3 partition ]&amp;quot;&lt;br /&gt;
    /sbin/losetup -v -o $(expr ${BYTES_PER_SECTOR} &amp;quot;*&amp;quot; ${EXT3_SECTOR_OFFSET}) ${LOOP_DEV_FS} ${OUTFILE}&lt;br /&gt;
    /sbin/mkfs.ext3 -L rootfs ${LOOP_DEV_FS}&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;[ Copying files to vfat ]&amp;quot;&lt;br /&gt;
    mount ${LOOP_DEV} /mnt&lt;br /&gt;
    cp -v ${MLO} /mnt/MLO&lt;br /&gt;
    cp -v ${UBOOT} /mnt/u-boot.bin&lt;br /&gt;
    cp -v ${KERNEL} /mnt/uImage&lt;br /&gt;
    umount ${LOOP_DEV}&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;[ Copying file system ]&amp;quot;&lt;br /&gt;
    mount ${LOOP_DEV_FS} /mnt&lt;br /&gt;
    tar xaf ${ROOTFS} -C /mnt&lt;br /&gt;
    umount ${LOOP_DEV_FS}&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;[ Clean up ]&amp;quot;&lt;br /&gt;
    /sbin/losetup -d ${LOOP_DEV}&lt;br /&gt;
    /sbin/losetup -d ${LOOP_DEV_FS}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ARGS=$*&lt;br /&gt;
check_args $ARGS&lt;br /&gt;
make_image&lt;br /&gt;
populate_image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Trevor Woerner</name></author>	</entry>

	</feed>