Current system images

From University of Washington - Ubicomp Research Page
Jump to: navigation, search

Overview

To avoid problems with repeatability and deployments this page hosts the default images to be used for the various projects. If you make modifications to your image you should create new patches, update .tgz files, etc. rather than simply creating new images so we have a way of getting from one image to another. For example, 'take the current image, run this patch on it, and copy these files to it'.


Current Image

The recommended system image:

Description Bootloader Kernel Image Filesystem
Console on STD UART
Windows Ethernet Gadget
blob zImage fs.jffs2


Other Image Builds

    June 29, 2008

    Built using the following two scripts build command and build helper script.

    • Re-sync with some changes in MSP give-away version
    • Added Karl's SD Card DMA patches and camera patches
    Description Bootloader Kernel Image Filesystem
    Console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    Console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2


    April 10, 2007

    Built using the following two scripts build command and build helper script.

    • Minor filesystem updates, this is a stabilization build
    • TODO: Integrate Dirk's changes into this system image. This will remove the Windows vs. Linux Ethernet gadget build and make it a selectable module. Several rebuilt libraries, etc. This simply requires a day or two of testing, integration, and documentation.
    • TODO: In addition if it is possible to remove the noConsole vs. Console images that would be advantageous. Blob could be patched to look for a particular flash address to see if the console should be used or not. The linux kernel could use the console argument to set a noConsole variable rather than using #if0’s. This may be problematic because the kernel may not be in a easy to work with mode when it needs to print information.
    Description Bootloader Kernel Image Filesystem
    Console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    Console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2


    February 24, 2007

    Built using the following two scripts build command and build helper script.

    • Filesystem was changed to support multiroute wifi units (a new fs.jffs2 image was created)
    • Changes disable www access via the usb gadget (under linux only because network bridges don't appear to work in Windows)
      • removed "gateway 192.168.99.100" from /etc/network/interfaces
    Description Bootloader Kernel Image Filesystem
    Console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    Console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2

    February 6, 2007

    Built using the following two scripts build command and build helper script.

    • Added PPP and advanced routing to linux kernel image
    Description Bootloader Kernel Image Filesystem
    Console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    Console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2

    January 26, 2007

    Built using the following two scripts build command and build helper script.

    • Changed Zydas driver to build for revB boards
    • Added lib bluetooth
    Description Bootloader Kernel Image Filesystem
    Console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    Console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2

    January 24, 2007

    Built using the following two scripts build command and build helper script.

    • Gadget driver only affects the zImage
    • console/no console affects all 3 files
    Description Bootloader Kernel Image Filesystem
    Console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    Console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Windows Ethernet Gadget
    blob zImage fs.jffs2
    No console on STD UART
    Unix Ethernet Gadget
    blob zImage fs.jffs2

Extract fs.jffs2 image to a new dir

<bash>#/bin/sh IMAGEPATH=<YourPathHere> umount /dev/mtdblock0 modprobe -r blkmtd losetup -d /dev/loop0

mknod /dev/mtdblock0 b 31 0 mkdir /mnt/jffs2ImageA losetup /dev/loop0 $IMAGEPATH/fs.jffs2 modprobe blkmtd device=/dev/loop0 mount -t jffs2 /dev/mtdblock0 /mnt/jffs2ImageA mkdir -p $IMAGEPATH/jffs2Image cp -a /mnt/jffs2ImageA/* $IMAGEPATH/jffs2Image umount /dev/mtdblock0 modprobe -r blkmtd losetup -d /dev/loop0</bash>


Comparing two filesystem images

To compare two, fs.jffs2, file system images you can simply mount both images on a machine and do a diff on them: <bash>mkdir /mnt/jffs2ImageA mkdir /mnt/jffs2ImageB mknod /dev/mtdblock0 b 31 0 mknod /dev/mtdblock1 b 31 1

echo "Change fs.jffs2 to point to your images" losetup /dev/loop0 fs.jffs2_A losetup /dev/loop1 fs.jffs2_B

modprobe blkmtd device=/dev/loop0,/dev/loop1 mount -t jffs2 /dev/mtdblock0 /mnt/jffs2ImageA mount -t jffs2 /dev/mtdblock1 /mnt/jffs2ImageB

diff -urN /mnt/jffs2ImageA /mnt/jffs2ImageB</bash>

To remove the mounted images: <bash>sync umount /dev/mtdblock0 umount /dev/mtdblock1 modprobe -r blkmtd losetup -d /dev/loop0 losetup -d /dev/loop1</bash>


Script to update new images

<bash>#!/bin/tcsh set targetVersion="backup_7_29_2008" set sourceDir="/projects/builds/wikiBuild" set buildAllScript="/projects/builds/wikiBuild/build" set buildScript="/projects/builds/wikiBuild/buildScript"


mkdir -p /var/www/files/imote2/images/"$targetVersion"/Console_nixGadget/ mkdir -p /var/www/files/imote2/images/"$targetVersion"/Console_winGadget/ mkdir -p /var/www/files/imote2/images/"$targetVersion"/noConsole_nixGadget/ mkdir -p /var/www/files/imote2/images/"$targetVersion"/noConsole_winGadget/ cp -a "$sourceDir"/Console_nixGadget/images /var/www/files/imote2/images/"$targetVersion"/Console_nixGadget/ cp -a "$sourceDir"/Console_winGadget/images /var/www/files/imote2/images/"$targetVersion"/Console_winGadget/ cp -a "$sourceDir"/noConsole_nixGadget/images /var/www/files/imote2/images/"$targetVersion"/noConsole_nixGadget/ cp -a "$sourceDir"/noConsole_winGadget/images /var/www/files/imote2/images/"$targetVersion"/noConsole_winGadget/ cp -a /var/www/files/imote2/patches /var/www/files/imote2/images/"$targetVersion"/ cp "$buildAllScript" /var/www/files/imote2/images/"$targetVersion"/ cp "$buildScript" /var/www/files/imote2/images/"$targetVersion"/ cd /var/www/files/imote2/images/current rm ./blob rm ./fs.jffs2 rm ./zImage ln -s ../"$targetVersion"/Console_winGadget/images/blob ./blob ln -s ../"$targetVersion"/Console_winGadget/images/fs.jffs2 ./fs.jffs2 ln -s ../"$targetVersion"/Console_winGadget/images/zImage ./zImage cd /var/www/files/imote2/images/current/"$targetVersion"/ find ./ -type f -exec chmod 444 {} \; find ./ -type d -exec chmod 755 {} \;</bash>