Template:ARM9 Freelink Install

=Installation Steps for Linkstation versions/revisions= Since it may have taken some time to get to this step here's that important warning again:

Initrd-Only Installation:
(This step is NOT for NEW-version hardware, ONLY for OLD-version hardware.)

Important: Users that have not installed a lb_worm's custom initrd or firmwares containing lb_worm's custom initrd must install the "initrd-only" package before installing FreeLink. Failure to do so may result in a failed install or a bricked old-hardware-version box. The initrd-only package is included in the FreeLink package. Use the updater found in the initrd-only folder to install the initrd-only package (for Live, use Live version of LSUpdater.exe and LSUpdater.ini, see below).


 * See LS_PRO_modified_initrd for more information about the modified initrd.

Warning Notices: When installing the initrd-only package, there will be an error saying "hddrootfs.img not found", "uImage.buffalo not found". That is expected as we are only updating initrd. The errors can be overridden by using the "Debug Mode" for the Buffalo Updater.


 * 1) Right click on the Buffalo Updater icon in the Windows takbar.  If lsupdater.ini has been edited as described above to allow Debug mode to be activated, you will see a choice Debug(D): select it.
 * 1) In the upper left-hand corner of the menu is an "Update" section. Deselect everything in that section except "Update initrd" and hit "ok".
 * 2) Then update as usual.

FreeLink Installation
Users may install FreeLink by using the buffalo updater supplied with the FreeLink package. The FreeLink firmware will be installed in the same manner as the stock firmware except you will skip installing boot (u-boot bootloader) as there is different versions of u-boot.


 * Please use a wired-ethernet connection to install FreeLink. Wireless-ethernet connections are known to cause problems.
 * Follow instructions above to use Debug mode. In Debug mode, uncheck Update BOOT as one of the Update options.
 * Ignore the "Waited for 240[s] seconds but couldn't confirm..." message at the end of the update and click "No" when the updater asks whether it should wait again for a response.
 * Also ignore any error messages afterwards. The error messages are cause by the fact that FreeLink does not contain the Buffalo Updater Daemon.

==== ACP_STATE_FAILURE error??:  ==== If you receive the ACP_STATE_FAILURE error message, that means that the /boot partition of the hard drive is filled to capacity. The easiest way to resolve this is with Georg's ACP Commander:


 * Read the http://downloads.nas-central.org/TOOLS/ALL_LS_KB_ARM9/ACP_COMMANDER/README Make sure you understand what the acp_commander is for & how you can use it.
 * Download http://downloads.nas-central.org/TOOLS/ALL_LS_KB_ARM9/ACP_COMMANDER/acp_commander.jar to somewhere you will remember.
 * Get console access, dos, terminal, shell it doesn't really matter as long as you can execute the java command.
 * cd to the directory where you saved acp_commander.jar
 * Disable your firewall temporarily. (If applicable)

Enter the following (Replacing  with the IP Address of your Linkstation) java -jar acp_commander.jar -t  -cb

This will clear the boot partition, and now you can retry the firmware update, hopefully with success.

Installation on V1 (OLD hardware) LS LIVE using LSUpdater
(old v1 hardware) LS Live (HS-DHGL): Please follow the same procedure as for old hardware LS PRO, except that you must first replace the LS PRO version of the LSUpdater that is supplied with the FreeLink distribution with the LS LIVE version of LSUpdater.exe and LSUpdater.ini, These are in the firmware for the LS LIVE which can be downloaded from Buffalo site (it's inside 1.03 or 2.03 firmware for LinkStation Live). http://www.buffalo-technology.com/support/downloads/linkstation-live/

You will have to modify the LSUpdater.ini file as described above to allow Debug mode to be activated, and to suppress firmware version checking.

Installation on V2 (NEW hardware) LS PRO using LSUpdater
Only the 1.10 and 1.11 firmware is available for the (new hardware) LS PRO at http://www.buffalo-technology.com/support/downloads/linkstation-pro/ or http://www.buffalotech.com/support/downloads/linkstation-pro.

(There is no "1.06" firmware for the PRO that resembles the 2.06 firmware for the LS LIVE).

According to a procedure reported in the forum by LS Pro user ado, for 1.10 or 1.11 LSPRO firmware on new hardware, (and confirmed to work by others) what you must do is:

1. Download FreeLink_arm9-1.0rev2 2. Use LSUpdater.exe (any version, within stock firmware 1.10 or 1.11,       or within FreeLink_arm9-1.0rev2) (in Debug mode) Flash the Linkstation with FreeLink firmware as follows: Start LSUpdater, and enter Debug mode, as described above: On the left Debug panel of the Debug mode window, select the boxes for KERNEL,initrd and rootfs (all of these will be taken from FreeLink_arm9-1.0rev2) , but DO NOT SELECT BOOT . On the right panel, check "Do not check version", and "force update". '''Important: make sure the checkbox for BOOT is NOT checked: leaving "update BOOT" checked when flashing WILL brick your new-hardware LinkStation (by replacing the u-boot bootloader with an older one incompatible with new hardware) ''')

Suggestion: As an extra precaution against mistakes, delete the FreeLink file u-boot.buffalo.updated which contains the incompatible bootloader (or replace it     with u-boot.buffalo.updated from the stock firmware package(1.10 or 1.11) corresponding     to the firmware version you are running.     Go back to the Main Menu, press the "Update" Button.

Reboot the Linkstation, try a ssh-login with user: root, password: lspro. Works? fine, that's it. If this is not working, you will need the next step.

3. The initial reboot of the Linkstation may fail. To fix this, you now need to get into EM mode, which will happen after three failed attempts to boot. Each time the LinkStation boots, it will check 3 things to decide whether to boot into EM mode: (i) Does a file /etc/hddrootmode  exist? (ii) Does a file /etc/rootfs_ok  exist? (iii) Is the version information in the file /etc/linkstation_release  too old? After you have installed FreeLink and the LinkStation has failed to boot 3 times, since the LinkStation has not found a file /etc/rootfs_ok, and three failed boot attempts are recorded in /etc/rootfs_booting, the next boot will boot the LinkStation into EM mode. When your LinkStation is running in EM mode, you can use acp_commander ("java -jar acp_commander.jar -t  -o") to remove the root password and start the telnet service. Then telnet to the LinkStation and login as root (no password). Once you are logged in as root in EM mode, modify the script in /etc/init.d/miconapl from note: execute following commands if you cannot find miconapl in /etc/init.d        -> mount /dev/sda1 /boot -> mount /dev/sda2 /rootfs -> find / -iname "miconapl" hdd { ## Use same files as linuxrc ROOTFS_OK=/boot/rootfs_ok ROOTFS_BOOTING=/boot/rootfs_booting INITRDMODE=/boot/initrdmode ## Update the filesystem okay flag date > $ROOTFS_OK ## delete booting file rm -f $ROOTFS_BOOTING rm -f $INITRDMODE } to: hdd { ## Use same files as linuxrc ROOTFS_OK=/boot/rootfs_ok ROOTFS_BOOTING=/boot/rootfs_booting INITRDMODE=/boot/initrdmode ## Update the filesystem okay flag date > $ROOTFS_OK ## delete booting file rm -f $ROOTFS_BOOTING rm -f $INITRDMODE ## Added to resolve initial freelink boot into EM mode (v2 hardware) ETC_ROOTFS_OK=/etc/rootfs_ok ETC_ROOTFS_BOOTING=/etc/rootfs_booting ETC_INITRDMODE=/etc/initrdmode date > $ETC_ROOTFS_OK rm -f $ETC_ROOTFS_BOOTING rm -f $ETC_INITRDMODE } (The modifications above are shown in red ). Now reboot again, the modifications you made will get you out of EM mode. After this final boot, you should have a working LinkStation PRO running FreeLink.

This procedure is reported to work starting with both 1.10 and 1.11 LSPRO firmware on the new hardware LS PRO.

DO NOT TRY TO FLASH BACK TO 1.03 FIRMWARE, this will brick the (new hardware) LS PRO because the 1.03 bootloader does not support new hardware.

Check the discussion in the forum about LS PRO new hardware. Successful FreeLink installations of new hardware LS PRO have been reported.

Installation on V2 (NEW hardware) LS LIVE (running 2.06 or 2.10 Buffalo firmware) using LSUpdater
The LSLIVE currently comes with 2.06 firmware (with linux kernel 2.6.16.6), but the US buffalo site supplies an update to 2.10 firmware (linux 2.6.16.16, and a slightly new u-boot). The procedued described here works for LSLIVES's running either 2.06 or 2.10 firmware. It will leave the system running FreeLink (Debian Etch) with a 2.6.12.6 kernel.

I recommend updating to 2.10 firmware before moving to freelink, to get the newer u-boot bootloader installed. You will not be able to upgrade it after installating FreeLink. (it is always possible to remove Freelink and go back to Buffalo firmware, if you need to update u-boot),

0. Start with a v2 LinkStation LIVE running Buffalo 2.06 or 2.10 firmware.

1. Download the FreeLink rev2 distribution. FreeLink_arm9-1.0rev2.zip Unzip it. Go to the directory FreeLink_arm9-1.0rev2-Live, and immediately delete the file u-boot.buffalo.updated. (This file is POISON to any new-hardware LinkStation,and you do not want       any  possibility of accidently flashing it to your nice new LinkStation!).

2. (Download the Buffalo 2.06 or 2.10 firmware updater if you have not already done so.) The 2.06 firmware is at        http://www.buffalo-technology.com/support/downloads/linkstation-live/. The file is called HS-DHGL_206_013_us.zip. Unzip the file, and go to       the directory with the firmware (it is called HS-DHGL_206_013_us) The 2.10 firmware is at        http://www.buffalotech.com/support/downloads/linkstation-live/ Download the file LS_Live_103_WebAccess.zip. The directory with the firmware is       HS-DHGL_210_001_us

3. Edit lsupdater.ini (as described above) to allow activation of Debug  mode.

4. Edit linkstation_version.txt as follows: (version shwn are from 2.06 firmware) VERSION=2.06-0.13             increase version    e.g. VERSION=2.20-001 BOOT=1.09                     DONT CHANGE KERNEL=2007/03/07 11:16:12    make date newer     e.g. KERNEL=2007/10/07 11:16:12 INITRD=2007/06/12 17:37:02    make date newer     e.g. INITRD=2007/10/12 17:37:02 ROOTFS=2007/06/12 17:54:57    make date newer     e.g. ROOTFS=2007/10/12 17:54:57 You are only doing this to trick LSUpdater when it checks that the update is newer than the firmware installed on the LinkStation.(It will only install newer firmware) (Perhaps checking the box "force UPDATE" will make this unnecessary? Maybe only the          three dates must be changed?) (These dates are only used as a check by LSUpdater to compare with dates encoded      in the firmware on the LinkStation.  It only matters that they are more recent than       the firmware that is running at the time you flash, and what you choose for them       will not be recorded on the LinkStation.) You DO NOT WANT TO make it think that there is an updated BootLoader available, so leave the BOOT=1.xx field alone. (If you are running 1.06 or 1.10 FW, the      BootLoader in  Flash memory should be the 1.09 or 1.10 version anyway, so this        should not in principle be dangerous, but .... just leave it alone!)

5. Delete the three Buffalo files uImage.buffalo, initrd.img and hddrootfs.img

6. Replace them with the corresponding three FreeLink files uImage.buffalo, initrd.img and hddrootfs.img from the FreeLink distribution directory FreeLink_arm9-1.0rev2. Make sure that you have replaced all three files.

7. Disable all Windows firewalls. To be safest, you should also disconnect your windows computer from the network and connect it directly to the LinkStation with a crossover ethernet cable (However, I successfully flashed though a router without problems) The one important rule is: Never use a wireless connection for flashing. Now start LSUpdater, which should find your LinkStation on the network.

8. Once your LSUpdater has found the LinkStation, right click on the Buffalo Update icon in the Windows taskbar (usually at the bottom of the screen) and activate Debug(D) mode. In the left panel of the Debug menu, uncheck the first  item ("update BOOT"), and check the boxes for "update KERNEL", "update initrd", and "update rootfs". Then click on "OK" to exit the Debug menu. It is apparently very important that "update BOOT" is NOT CHECKED (to avoid           bricking your new-hardware version LinkStation), though since the version of the bootloader in u-boot.buffalo.updated is presumably the same as the one in         your LinkStation right now, it is probably not dangerous. What is dangerous is leaving "update boot" checked if the u-boot.buffalo.updated in the working directory is an older version (like the one that comes with               FreeLink that only supports old hardware....)

O update BOOT       <NOT CHECKED x update KERNEL     <CHECKED x update initrd     <CHECKED x update rootfs     <CHECKED 9.The "moment of truth" has arrived!! To continue, click on "Update" in the LSUpdater menu.

Whatever else you do, NEVER do anything that could flash the Bootloader of a new-hardware Linkstation with an older version of u-boot.buffalo.updated  (like the  one that came with FreeLink )unless Debug mode with "update BOOT"  '''NOT CHECKED is used: (You WILL brick a new-hardware LinkStation if you replace its U-boot bootloader using an incompatible u-boot..buffalo.updated designed for the old hardware.)

When the LinkStation reboots, it will be running Freelink, and the LSUpdater will no longer find it.

Do not be alarmed when the Linkstation eventually reboots (and makes the rebooting   chime noises), but LSUpdater reports that it is still waiting for the LinkStation to     respond.(You can ping your Linkstation at the IP address shown in the LSUpdater panel    to verify that it is alive, and booted). Ignore the "Waited for 240[s] seconds but   couldn't confirm..." message at the end of the update and click "No" when the updater asks whether it should wait again for a response.