Online image assembler for the Angstrom distribution
JavaScript Shell PHP D CSS
Latest commit 4ffcef4 Jan 13, 2012 @koenkooi koenkooi narcissus: add beaglebone config
Signed-off-by: Koen Kooi <>


Narcissus - Online image builder for the angstrom distribution
Koen Kooi (c) 2008, 2009 - all rights reserved 

To install this:

* put on webserver
* put opkg-cl in bin/
* put makedevs in bin/
* put pseudo and libpseudo in bin/
* mkdir deploy/
* Optional: allow 'www-data' user to write to conf/beagleboard/sd/ to cache sd images
* Optional: add 'www-data' to the 'disk' group
* Optional: install mkfs.ubifs and mkfs.jffs2, but don't statically link in libc, otherwise pseudo won't work:

	20:56 <+fray> check mk.ubifs, is it statically linked, etc?
	20:57 <+koen> bin/mkfs.ubifs: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.6.8, not stripped
	20:57 <+koen> aha!
	20:57 <+fray> bingo
	20:57 <+fray> statically linked won't run inside of the pseudo environment..
	20:57 <+fray> rebuild it and dynamically link it to libc
	20:58 <+fray> in WR Linux we statically link a bunch of things, but we -always- dynamically link the LIBC  (so pseudo will work)

To add a new machine:

* mkdir conf/<machine>
* put the angstrom-feed-configs ipkg in conf/<machine>/configs/<releasename>/
* create conf/<machine>/arch.conf listing the architectures your machine supports
* run 'sh scripts/' to generate the supported configs html files

If you have a feed with the machine config packages present:

for i in $(find ~/website/feeds/2008/ipk/glibc  -name "angstrom-feed-configs_*ipk" | grep -v morgue) ; do cp $i . ; done
for f in $(for i in angst*ipk ; do echo $i | awk -F_ '{print $3}' |sed s:\.ipk::g ; done) ; do dpkg-deb -X ang*${f}.ipk $f ; mv ang*${f}.ipk $f ; mv $f/etc/opkg/arch.conf $f ; rm -rf $f/etc; done

Add the following to /etc/fstab:

# This is for the image buildservice, it needs to loop mount 2 partitions:
/dev/loop0 /mnt/narcissus/sd_image1 msdos user 0 0
/dev/loop1 /mnt/narcissus/sd_image2 ext3 user,dev,suid 0 0

Add the following to /etc/apache2/conf.d/narcissu:

<Directory /var/www/narcissus>
    Options +ExecCGI +FollowSymLinks -Indexes

<VirtualHost *:80>
    DocumentRoot /var/www/narcissus/
    CustomLog /var/log/apache2/angstrom-narcissus.log combined
<Directory /var/www/narcissus/>
        AllowOverride All

That's it!