CuriousMark's Kurobox as a TiVo MediaServer Page
I have had a Kurobox for some time now and it has served well as a basic file server. I have been wanting to upgrade it to act as a media server for my TiVo, but didn't know enough Linux to feel comfortable attacking the task. Also, the thought of putting together all the pieces seemed a bit daunting. With the recent advent of nearly automatic upgrades to uboot and modern Debian distributions, plus the arrival of pyTiVo on the scene, it seems like now is the time to quit procrastinating and get started.
The primary resource is NAS-Central and the wonderful people who are behind it. I started by asking in the forums. Here is the thread that this page is based on. It shows the false starts and mis-steps that I will leave out here in order to keep things readable and usable. My thanks to Andre, mindbender, and davy_gravy for their help and patience with this Linux newbie.
Installing U-Boot on an original Kurobox
Here is Mindbender's directions with annotations and hints added.
That is downloading the uboot binary + the 18.104.22.168 firmimg.bin and the freelink rootfs to /mnt/ which should be the point to which /dev/hda3 should be mounted.
Since my kurobox was only slightly updated, wget was not available to me. Instead I downloaded those files to my PC and then put them on the share drive of the kuro using windows networking. I then logged into the Kuro using telnet and moved them to the suggested directory. If you are working with a new drive, this may not be an option. The Kurobox supports telnet, and that is another way to get the files onto the box.
mv /mnt/share/u-boot-lsppchd-flash-1.2.0-r2.bin u-boot-lsppchd-flash-1.2.0-r2.bin
mv /mnt/share/firmimg.bin firmimg.bin
Here is a link to the flash map of the LS1/kurobox original.
There you will see the bootloader-device "/dev/fl2" and the firmimg.bin device "/dev/fl1".
Updating Flash Memory and the boot partition
You can install the latest uboot without compiling by flashing the binary to /dev/fl2
see http://buffalo.nas-central.org/index.php?title=U-boot_bootloader#Flashing_U-Boot_from_Linux for the full up directions and warnings.
This is the critical part of this guide. in case anything goes wrong when flashing uboot you will need jtag to recover the box. Be warned! It worked for me on three boxes. It worked for me with no trouble either, but you should know you are doing this at your own risk, you really can brick your Kurobox.
installing uboot to /dev/fl2
dd if=u-boot-lsppchd-flash-1.2.0-r2.bin of=/dev/fl2 bs=1k
In case you have cmp on board of your currently installed execute the cmp command also to be completely sure that it worked.
I did not have cmp and did not compare. I ran into issues later and was able to compare from Freelink (as installed below) and found that Flashing worked flawlessly. If you do wish to compare, install it to your kurobox before beginning.
cmp u-boot-lsppchd-flash-1.2.0-r2.bin /dev/fl2
cmp: EOF on u-boot-lsppchd-flash-1.2.0-r2.bin
EOF means a good comparison. The flash device doesn't end at the end of file, so this result is expected.
installing the 22.214.171.124 firmimg.bin to /dev/fl1
If you do this uboot update, I also recommend you flash the 126.96.36.199/telnet/ftp-enabled firmimg.bin to flash. This has the functionality you are used to having on your kurobox.
This is the kernel that will be used in EM-Mode and when you do a two flash uboot startup.
dd if=firmimg.bin of=/dev/fl1 bs=1k
Again, if you have cmp onboard, use it to make sure everything was written correctly.
Do both of the above flash operations at the same time without rebooting. Then you can reboot the first time...you will see the box behaving differently...hopefully as shown in this youtube video by Mindbender: http://www.youtube.com/watch?v=pTPrrUYd8O8
At this point you effectively can only boot to 2 and 3 blink mode as you only have a bootable kernel in flash, but not on the hard drive in the /boot directory (thats why you are flashing the 188.8.131.52-firmimg.bin btw...if you don`t and reboot uboot will have problems finding a kernel to boot). the 1-blink mode will work as well, but in reality it will be 2 blink mode as it defaults to the flash kernel if no kernel is found in /boot
Installing freelink to /dev/hda1
Once you have booted into EM mode with uboot (three flashes of the Disk Fail light during the uboot portion of startup), you can install freelink to /dev/hda1. login via telnet.
rm -r *
tar xzvf ../hda3/tmpimage-FL-1-21-LS1.tgz
That should be all, when you reboot again you will be running Freelink. This is now the beginning, Freelink needs configuring and addition of all the software you will want to make the box functional as a NAS and media server.
Installing U-Boot on a Kurobox HG
Here are Mindbender's directions.
how to install LNI uboot + 184.108.40.206-firmimg.bin to the kuroboxHG/LS HG/LS HS
This section is taken from Mindbender's post, but I have not tried it given that I only own an original Kurobox. It should work just as well as the standard update did for me.
(thats downloading the uboot binary + the 220.127.116.11 firmimg.bin to /mnt/ which should be the point where /dev/hda3 should be mounted to)
ok, here is the flash map of the LS HG/LS HS/kuroHG original. http://nas-central.org/index.php/Information/HGFlashROM there you see the bootloader-device /dev/mtd1 and the firmimg.bin device /dev/mtd0.
you can install the latest uboot without compiling by flashing the binary to /dev/mtd1 http://buffalo.nas-central.org/index.php?title=U-boot_bootloader#Flashing_U-Boot_from_Linux
this is the critical part of this guide. in case anything goes wrong when flashing uboot you ll need jtag. be warned. it worked for me on three boxes...
installing uboot to /dev/mtd1
dd if=u-boot-lsppchd-flash-1.2.0-r2.bin of=/dev/mtd1 bs=1k
in case you have cmp on board of your currently installed execute the cmp command also to be completely sure that it worked.
installing the 18.104.22.168 firmimg.bin to /dev/mtd0
if you do this, i recommend to flash the 22.214.171.124/telnet/ftp-enabled firmimg.bin to flash....this has the functionality you are used to on your kurobox.
dd if=firmimg.bin of=/dev/mtd0 bs=1k
again, if you have cmp onboard then use it to make sure everything got written correctly.
do both at the same time without rebooting. then you can reboot the first time...you ll see the box behaving differently...hopefully that way: http://www.youtube.com/watch?v=pTPrrUYd8O8
then you effectively can only boot to 2 and 3 blink mode as you only have a bootable kernel in flash (thats why you are flashing the 126.96.36.199-firmimg.bin btw...if you don`t and reboot uboot will have problems to find a kernel to boot). the 1-blink mode will work as well, but in reality it will be 2 blink mode as it defaults to the flash kernel if no kernel is found in /boot
Update to latest 2.6-kernel last desirable thing to do is to update to a late 2.6 by running andre`s webinstaller with variant-uboot mode: http://hvkls.dyndns.org/downloads/documentation/README-webinstaller.html
This did not go well for me at first. Here is my expanded set of directions that worked better.
Update Freelink before updating the kernel to 2.6
I found that the web installer failed and asked me to reinstall several items using apt-get when I ran it on a virgin Freelink installation. When I tried to do the re-installs, apt-get cried foul and failed saying I needed to run apt-get update first. Upon running that, it had a failure and recommended running it again. the second apt-get update worked with no error messages and then the re-installs worked fine. After all of that, the web-installer ran without a hitch. Here is a summary of the command lines and the order that should get things up and running quickest.
foonas is easier for testing you can between also test http://downloads.foonas.org/foonas/alpha/lsppchd/foonas-bootstrap-image-1.0-dev-lsppchd.rootfs-svn-1062.tar.gz it has the advantage that you do not need to provide a 2.6-kernel as it already has one included...and /etc/fstab is already modified the right way.....so you would only need to untar it to /dev/hda1 and then reboot to 1 blink mode.
Things left to do when upgrading to 2.6 remember that if you update to a 2.6 kernel using foonas you will have to modify /dev/fstab...in 2.4 all devices were called /dev/hdaX , in the current foonas 2.6-kernels they use the /dev/sdaX device. The 2.6 kernel installed by Andre's web installer uses hdaX and no modification to /def/fstab is required when using it.