Rebuild the software distribution

From CSL Wiki

Jump to: navigation, search
  • From a fresh reflash v1.11:
dhclient
mkdir /mnt/nfs
mount -t nfs -o tcp 131.179.144.13:/tftpboot /mnt/nfs
  • install kernel using fcp
    • zImage is whatever the newest/correct image is eg:/mnt/nfs/aensbox-newest/zImage-slauson-2.6.10-ensbox
    • fcp -v zImage /dev/mtd/1
unlock /dev/mtd/1
fcp -v /mnt/nfs/aensbox-newest/zImage-slauson-2.6.10-ensbox /dev/mtd/1
  • cd to /
  • extract software (slauson***.tar.gz) tarball into / (tar -zxvf /mnt/nfs/aensbox-newest/slauson-root.tar.gz)
  • echo # > /etc/id
  • echo # > /etc/box_version (where # = 1 or 2 currently - it's the sensor board)



This stuff should be already in the root tarball as of April 20, 2007

    • setup wireless (wlan0) to be the default route
      • remove the gateway entry from /etc/sysconfig/network-scripts/ifcfg-eth0
      • add a gateway entry "GATEWAY=192.168.11.1" to /etc/sysconfig/network-scripts/ifcfg-wlan0
    • make "ONBOOT=no" for /etc/sysconfig/network-scripts/ifcfg-wlan0 (it is brought up by .delayed-boot.sh)
    • remove the "Add Zeroconf route" lines from /etc/sysconfig/network-scripts/ifup
    • For slauson v1.11, fix init scripts:

ln -s /etc/rc.d/init.d/functions /etc/init.d/

  • .boot.sh and .delayed-boot.sh have been renamed to just boot.sh and delayed-boot.sh and added to cvs control.
    • They need to be moved from emstar/devel/loc/boot-scripts/ to /home/emstar/ when building the tarballs.
    • The /etc/rc.local file needs to be modified to find them... just changing the appropriate line to read

BOOTSCRIPTS=`ls /home/*/boot.sh 2>/dev/null`
insead of:
BOOTSCRIPTS=`ls /home/*/.boot.sh 2>/dev/null`




rm /etc/resolv.conf
mkdir -p /mnt/sd_card/data 
mkdir -p /mnt/sd_card/netdata
cd /home
ln -s /mnt/sd_card/data .
ln -s /mnt/sd_card/netdata . 
  • prog for 5V on both cards, will reboot automatically. Everything default (a bunch of 0's for serial #) execpt the card voltagesb
depmod -a
/home/sensoria/system/bin/slauson_eeprom_prog.sh
  • run cardctl status to make sure both cards are there
  • depmod -a
  • reboot


#
#  these instructions are relative to the setup on wren.. we need to standardize/clean this up
#
#
#  wren's setup:
#
#    /usr/arm-linux toolchain for slauson
#    eth0:1 on 192.168.10.0 network 
#    important stuff in /scratch
#
#    /scratch/girod/slauson - lots of slauson stuff
#                          /linux-2.6.10-sln1  the version of the kernel we use
#                          /linux-2.6.10-sln1-orig  the original version we patched from
#                          /slauson-root  the patches to the rootfs on the slauson to make it work as an AR node
#                          /slauson-1.7pre-patch.tgz  tar of above 
#
#    /scratch/girod/hostap  - hostap driver sources with modifications
#
#    /scratch2/arm.tgz  -- tarball of tools
#


#
#  KERNEL STUFF AND MODULES
#

# to build the kernel
cd /scratch/girod/slauson/linux-2.6.10-sln1
export ARCH=arm
./run_me.sh
cp -r /scratch/girod/slauson/linux-2.6.10-sln1/modules/lib/modules/2.6.10-sln1 /scratch/girod/slauson/slauson-root/lib/modules/

# to build the modified hostap kernel modules
cd /scratch/girod/hostap/modules/hostap-source/
make ARCH=arm KVERS=2.6.10-sln1 KERNEL_PATH=/scratch/girod/slauson/linux-2.6.10-sln1 CROSS_COMPILE=arm-linux-
# patch into rootfs patch
cp driver/modules/*.ko /scratch/girod/slauson/slauson-root/lib/modules/2.6.10-sln1/kernel/drivers/net/wireless/hostap

#
#  **NOTE** patches to this kernel are not checked in.. they should be.  there is a kernel tree marked "orig"
#  that it came from.  it would also be nice to sync up to the latest kernel sensoria uses.
#  the modified kernel incorporates the patches to the vxp driver and a modified .config 
#  (enable vxp and tun module)
#
#  **NOTE** the vxp patches work against the 2.6.10 version of the vxp kernel drivers.
#  as of 2.6.11 the vxp support "out of the box" was totally broken; it may be fixed in later versions 
#  but is currently untested.
#
#  patches to the hostap driver are checked in under link/macinfo.  although it's not clear which version it's
#  patched against.. (nice to figure that out..)
#


#
#  EMSTAR STUFF
#

# rebuild software distribution
export LD_LIBRARY_PATH=/scratch/girod/emstar/obj.i686-linux/lib
rm -rf /tmp/deps
cd /scratch/girod/emstar/obj.nims-stargate
PLATFORM=slauson ../obj.i686-linux/emrun/emrun --copy-deps /tmp/deps ../devel/loc/testtabs/ar.run " " " " 
cd /tmp/deps
cp -r /scratch/girod/emstar/obj.nims-stargate/lib .
cd lib
rm *.a libemtos.so libchannel.so 
cd ..
tar -czvf /scratch/girod/ar-test-build-10-21.tgz .

# patch into rootfs patch
cd /scratch/girod/slauson/slauson-root/home/emstar
tar -xzvf /scratch/girod/ar-test-build-10-21.tgz

# other emstar-related files in the patch.. file which change very rarely
# ** kfusd.ko
cp /scratch/girod/emstar/obj.nims-stargate/fusd/kfusd.ko /scratch/girod/slauson/slauson-root/lib/modules/2.6.10-sln1/kernel/
# ** emproxy.  emproxy is kept in /usr/bin/emproxy.  this version
#    is statically linked so that it does not depend on any emstar 
#    shared libraries.  if you normally build with shared libs, you
#    would need to rebuild from scratch with shared disabled, then
#    copy that executable into the rootfs patch.  Fortunately, emproxy
#    changes rarely :)

#  special instructions for most recent ranging/recording setup
#  some special startup scripts are maintained in the rootfs patch directory.
#  these scripts control the behavior of the system when certain file flags
#  e.g. /home/emstar/RANGEEXP or /home/emstar/RECORDEXP or /home/emstar/NOBOOT
#  are present.  .delayed-boot selects one of the startup scripts to run,
#  and each startup script runs a different run file.
#  to accommodate these run files, they are renamed after the 'deps' are copied:
cd /tmp/deps
mv app.run rangeexp.run
cp /scratch/acoustic/emstar/devel/loc/testtabs/record.run recording.run
tar -czvf /scratch/acoustic/system-build-02-22-06.tar.gz .

  • rinetd has been added to emstar to allow direct access to the gumstix in the V2 boxes.
    • this is started from delayed-boot.sh


gumstix notes (for V2 boxes)

Personal tools