GXemul: ARM evaluation board emulation modes

Back to the index.

NetBSD's port to ARM evaluation boards is called NetBSD/evbarm. Right now, the only such machine emulated in GXemul is the IQ80321. NetBSD/evbarm can be manually installed and run in that mode.


NetBSD/evbarm:

NetBSD/evbarm is tricky to install, because there is (as far as I know) no INSTALL kernel. One way to install the NetBSD/evbarm distribution onto a disk image is to install the files using another (emulated) machine.

The following instructions will let you install NetBSD/evbarm onto a disk image, from an emulated CATS machine:

  1. Download a NetBSD/cats 3.1 ramdisk kernel:
    	wget ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz
    
    
  2. Create an empty harddisk image, which will be the disk image that you will install NetBSD/evbarm onto:
    	dd if=/dev/zero of=nbsd_iq80321.img bs=1024 count=1 seek=999000
    
    
  3. Download an IQ80321 kernel with wdc support, and the 2.1 ISO image:
    	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel/netbsd-wd0-IQ80321.gz
    	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbarmcd.iso
    
    

  4. Now let's extract the files from the CD-ROM image onto the IQ80321's disk image. Start the CATS machine using the following command line:
    	gxemul -XEcats -d nbsd_iq80321.img -d evbarmcd.iso netbsd.aout-INSTALL.gz
    
    
    Exit from the installer, and execute the following commands as root:

           
    
    disklabel -I -i wd0
        (enter suitable commands, e.g. a, 4.2BSD, 1c, 750M, b,
         swap, a, 200M, P, W, y, Q)
    newfs /dev/wd0a; mount /dev/wd0a /mnt2; cd /mnt2
    mount /dev/cd0a /mnt; sh
    for a in /mnt/*/binary/sets/[bcegmt]*.tgz; do echo $a; tar zxfp $a; done
    exit
    cd dev; sh ./MAKEDEV all; cd ../etc
    echo rc_configured=YES >> rc.conf
    echo "/dev/wd0a / ffs rw 1 1" > fstab
    echo "/dev/wd0b none swap sw 0 0" >> fstab
    cd /; umount /mnt; umount /mnt2; sync; halt
    

You should now be able to boot NetBSD/evbarm using this command:

	gxemul -x -E iq80321 -d nbsd_iq80321.img netbsd-wd0-IQ80321.gz