Online Image Builder for Angstrom
JavaScript Shell PHP D
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
conf
css
img
scripts
README
backend.php
graph.php
index.html
machine-list.html
machine-list.php
prune.php
stats.php

README

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/extract-supported-machines.sh' 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
</Directory>

<VirtualHost *:80>
    ServerAdmin angstrom-distro-devel@linuxtogo.org
    DocumentRoot /var/www/narcissus/
    ServerName narcissus.angstrom-distribution.org
    CustomLog /var/log/apache2/angstrom-narcissus.log combined
<Directory /var/www/narcissus/>
        AllowOverride All
</Directory>
</VirtualHost>
----------------------------------------

That's it!