Debian on my beagle board
I went to a one-day intro course to TI’s beagle board last year, and now I have the time to look at it in details. It is a cool device with everything you need for a small embedded media system.
Quick overview
The beagle is an ARM based embedded board from TI. It is cool little device that I want to use for image processing or just a media center.
The SD card was running Ångstrøm linux. I worked, but it didn’t feel right for me. I go for installing Debian on it, but other Linux distros work fine with the board. Always innovatin with ai_suberjumbo holds a compilation of distros.
Installation
I am following the description found on elinux.org, In essence, we are doing a Debian netinstall on the beagle board – it is very similar to doing it on a regular PC.,
Get the scripts
git clone git://github.com/RobertCNelson/netinstall.git
Next step is to log in as root, and run the installer. This is one of those Stop and Think moments where you choose which device you want to wipe – chose the SD card, not your hard disk. The “device to use” was in my case /dev/sdc.
su - cd <wherever you did the git clone>/netinstall ./mk_mmc.sh --mmc --uboot beagle_xm --distro squeeze
It wil download some stuff, generate the image and do some more stuff. On my laptop it took a couple of minutes.
Remove the SD card and insert it into the beagle board. Start your favorite serial terminal program
gtkterm --port /dev/ttyUSB0 --speed 115200
Power on the beagle board. You should now have the diodes on top of the sdcard to be lit and/or flashing and you should get a lot of info in the terminal. It will stop showing info after “Uncompressing Linux… done, booting the kernel.”, but at that time HDMI should up and running and show the familiar Debian installer
- Network using eth0
- Choose some hostname and domain name
- Choose a country and mirror (and probably no proxy)
- <weird stuff> No kernel modules found is ok
- Set root password to ‘root’ 🙂
- Add a user
- Time zone and language was odd, and it was necessary to “go back” and chose English as English (again), and then I could chose europe/danish. I ended up choosing en_GB.UTF-8 as default locale
- <Read note> Guided partitioning using “largest continuous free space” and “all files in one partition”
- <Installing base system takes an hour>
- <weird stuff> Continuing without installing kernel is ok
- No participating in package survey
- Installing SSH server and standard utilities. This takes a long time too.
- <weird stuff> no boot loader is ok.
Partition note: At the end you should have a ~64Mb partition and a large partition for data. The small partition is needed to load the system. Choosing, say, “entire disk” instead of “largest free space” results in a non-working SD-card and the process must be done all over again (and again) until you discover the error…
And I am not sure what happened, but I needed to go through this an extra time. The beagle board didn’t accept the card the first time – redoing it as described above did the trick.
Finalizing
Do a backup so you won’t have to do this again 🙂
dd BS=4M if=/dev/sdc of=bb_debian.img
or gzip it
dd if=/dev/sdc bs=4M | gzip -c > bb_debian.img.gz
(Update: added missing -c in gzip command)
Stuff to consider for the future
SD cards are slow – like in ridiculously slow. Get really fast ones, or be prepared to wait for a long time whenever you are using the disk.
Possible solutions
- PXE booting. I already have this running for disk less workstation, and it should be possible to get it working serving a beagle board.
- Use NFS for everything data related.
[…] mentioned in this blog, I back up sticks using dd and […]
USB stick backup « Just moozing
October 30, 2012 at 09:03