BeagleBox: tmpfs for writes, for now, but new u-boot required


It's a wonder what you can get done once the board actually boots up to a shell prompt.  Tonight I completed setup of inittab and boot scripts – along with customization of the rootfs build – to force writes normally bound for the rootfs to end up on a tmpfs mount.  I used angstrom's model of /var/volatile to set it up though I modified it slightly to fit the organizational structure I typically expect on a distribution.

While testing this I found a weird behaviour in init processing.  For some reason when I created some directories using /etc/init.d/rcS the mkdir's failed.  I don't know why, but when I moved these mkdir's to another init script, run after rcS, they worked.  Weird.  I though it might be because the sysinit entries in inittab run in parallel and maybe the “mount -a” that was also running hadn't completed but that just doesn't seem right.  I think the sysinit's run in order and sequentially.  So I don't know why this happens.

I also fixed the /etc files so I could get a getty running properly on ttyS2.  So now instead of a shell prompt I get a login prompt.  Root has no password yet, but I can deal with that later (I know how to generate it but don't need it during development).  Small steps.

The last thing I noted was a process issue.  When dd'ing the rootfs image to the 2nd sd card partition I noticed that the partition shows up with just the size of the image file.  That means the partition is nearly full though there is plenty of room left on the SD card.  To get around this the rootfs image can't be dd'd to the partition.  Instead, an ext2 image must be created on the SD card and the contents of the rootfs image copied to it.  That way the extra space on the SD card's 2nd partition isn't lost.  This process takes longer and I don't care about the extra space during development so the impact of this is to just make sure the wiki specifies copying the rootfs to the SD card and not using dd.

While rebuilding the rootfs I spent time looking over the S-Video not displaying problem.  I think one thing that may help is to get the proper u-boot release and patch it with the patches from Angstrom.  This shouldn't be hard.  The build system is already set up to handle the switch to a different version of git.  Adding the patches requires adding a download of the patches from an archive I'll create of the Angstrom patches and store on beaglebox's project site.  I do something like this for the kernel already.  I wouldn't have to do this if git allowed downloading just a subset of a project but as far as I know it doesn't.  Someone please correct me if I'm wrong.

At a minimum, switching to the Angstrom u-boot + patches should get me the color bars on the tv screen.  At least I hope it will.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.