Installation on the DockStar requires SSH access. Some firmware versions have it enabled by default, accessible with root/stxadmin. 2.1.2, the newest update as of this writing, has SSH disabled. You can turn it on in the Security section of the control panel.
Get blparam
Once you have SSH access, install blparam, the application used to configure the bootloader.
mount -o rw,remount / cd /usr/local/cloudengines/bin wget http://update.cooltrainer.org/freebsd-kirkwood/utils/blparam chmod 755 ./blparam
Flash the kernel
Download a pre-built kernel or copy yours to the device.
cd /tmp wget http://update.cooltrainer.org/freebsd-kirkwood/pub/FreeBSD/releases/arm/8.1-RELEASE/DOCKSTAR.bin.page
Erase the 219MiB portion of the NAND, mtd3, and flash the kernel into it.
flash_eraseall /dev/mtd3 > /dev/null 2>&1 nandwrite /dev/mtd3 DOCKSTAR.bin.page > /dev/null 2>&1
Copy the original boot command
Copy the stock bootcmd to bootcmd_original so we can use it to return to Linux.
For DockStar:
cd /usr/local/cloudengines/bin/ ./blparam 'bootcmd_original=nand read.e 0x800000 0x100000 0x300000; setenv bootargs $(console) $(bootargs_root); bootm 0x800000' > /dev/null 2>&1
For PogoPlug v1:
cd /usr/local/cloudengines/bin/ ./blparam 'bootcmd_original=nand read 0x2000000 0x100000 0x200000; setenv bootargs $(console) $(bootargs_root); bootm 0x2000000' > /dev/null 2>&1
For PogoPlugv2:
cd /usr/local/cloudengines/bin/ ./blparam 'bootcmd_original=nand read.e 0x800000 0x100000 0x200000; setenv bootargs $(console) $(bootargs_root); bootm 0x800000' > /dev/null 2>&1
For anything else:
I dunno, man.
Set up dual-boot
Here’s where you need to know the size in bytes (in hex!) of your kernel. Bootcmd_usb reads ${that many} bytes starting at 0×2500000 in NAND. In this example, the size of my kernel is 0x3A9000.
cd /usr/local/cloudengines/bin/ ./blparam "bootcmd_usb=nand read.e 900000 0x2500000 0x3A9000; go 900000" > /dev/null 2>&1 ./blparam "bootcmd1=setenv bootcmd run bootcmd2; saveenv; run bootcmd_usb" > /dev/null 2>&1 ./blparam "bootcmd2=setenv bootcmd run bootcmd1; saveenv; run bootcmd_original" > /dev/null 2>&1 ./blparam "bootcmd=run bootcmd1" > /dev/null 2>&1
With this setup, the DockStar will boot FreeBSD every other reboot. If you have serial console access, feel free to set bootcmd to “run bootcmd_usb”, but everyone else should leave it alone. That way you can get back into the stock firmware to perform updates or if you decide you just don’t like FreeBSD :)
Reboot. If all goes well you should have SSH access with root/root.
Post-installation
Set a root password immediately.
passwd
Add a normal user account for yourself. When asked, add your user to the wheel group. Consider disabling root SSH access in /etc/ssh/sshd_config.
adduser
Set the timezone.
tzsetup
Set up mail aliases.
pochan# cd /etc/mail pochan# make aliasesApplications ยป