This guide details the process of building a systemd image from the Angstrom source on a ubuntu or debian host.
For the steps below I have used Debian 6.0.4 via a net install
Install Debian 6.0.4 net install choosing only Standard system utilites
From root command prompt run
sudo apt-get install openssh-server
This will allow us to access the machine remotely via ssh
Following instructions on http://wiki.openembedded.org/index.php/OEandYourDistro#Debian
Install the mandatory packages as root
sudo apt-get install sed wget cvs subversion git-core coreutils unzip texi2html texinfo docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ desktop-file-utils chrpath dosfstools kpartx
Logout as root and return to regular user
Following instructions on http://www.angstrom-distribution.org/demo/beaglebone/ in the section down the bottom on “how to reproduce”
Run the following commands
git clone git://git.angstrom-distribution.org/setup-scripts
EDIT: I had trouble with this line since I posted this so I have since been using “git clone https://github.com/Angstrom-distribution/setup-scripts.git”
cd setup-scripts
./oebb.sh config beaglebone/
MACHINE=beaglebone ./oebb.sh bitbake systemd-image
When the build completes the files of interest will be stored in.
cd ~/setup-scripts/build/tmp-angstrom_2010_x-eglibc/deploy/images/beaglebone/
Insert the BeagleBone SD Card into the debian host.
Run dmesg
you should see the last few lines look like this
[28915.028000] mmc0: new SDHC card at address 1234
[28915.675869] mmcblk0: mmc0:1234 SA04G 3.63 GiB
[28915.675912] mmcblk0: p1 p2
The above notes show that we have an SD card mounted at /dev/mmc/blk0
We now want to format the SD card using the script file here http://www.angstrom-distribution.org/demo/beaglebone/mkcard.txt
First get the script on the debian host
wget http://www.angstrom-distribution.org/demo/beaglebone/mkcard.txt
Rename the file
mv mkcard.txt mkcard.sh
Login as root
su
Make the file executable
chmod +x mkcard.sh
Run the script to format the SD card
./mkcard.sh /dev/mmcblk0
If this is runs nicely then write the Angstrom image to the BeagleBone SD card using
Create a place to mount the new file systems
cd /mnt/
mkdir boot
mkdir Angstrom
Mount the File systems
mount -t vfat /dev/mmcblk0p1 /mnt/boot/
mount /dev/mmcblk0p2 /mnt/Angstrom/
Now using df -h we can see the file systems are mounted and empty
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 226G 9.3G 205G 5% /
tmpfs 1013M 0 1013M 0% /lib/init/rw
udev 1009M 212K 1009M 1% /dev
tmpfs 1013M 0 1013M 0% /dev/shm
/dev/mmcblk0p1 70M 512 70M 1% /mnt/boot
/dev/mmcblk0p2 3.6G 72M 3.3G 3% /mnt/Angstrom
Change directory back to the location of our build
cd /home/craig/setup-scripts/build/tmp-angstrom_2010_x-eglibc/deploy/images/beaglebone/
Copy the boot files to the first partition
cp u-boot.img /mnt/boot/
cp MLO /mnt/boot/
cp uImage-3.2-r5b+gitr09e9651bcf2ee8d86685f2a8075bc6557b1d3b91-beaglebone-20120311054152.bin /mnt/boot
Rename the uImage to just uImage
mv /mnt/boot/uImage-3.2-r5b+gitr09e9651bcf2ee8d86685f2a8075bc6557b1d3b91-beaglebone-20120311054152.bin /mnt/boot/uImage
Copy the root filesystem from the tarball we created earlier to the second partition
tar -xjv -C /mnt/Angstrom/ -f Angstrom-systemd-image-eglibc-ipk-v2012.03-core-beaglebone.rootfs.tar.bz2
Unmount the SD card
umount /mnt/boot
umount /mnt/Angstrom
Your SD card is now ready for booting.
Remove the SD card from the Debian host
Remove all cables from BeagleBone
Insert SD card into BeagleBone
Plug in Ethernet cable to BeagleBone
Plug in power adapter.
The LEDs on the BeagleBone should flash as the device is booting.
Once it has booted it should show up in your routers DHCP Client list with the hostname “beaglebone”
You should now have access to the BeagleBone via an SSH client.
Using the username “root” password “root”
To change the root password use the passwd command.
Now you have a systemd image running on your BeagleBone