Template:ARM9 Freelink Install

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search

Installation Steps for Linkstation versions/revisions

Since it may have taken some time to get to this step here's that important warning again:

Nuvola apps important.png 

IMPORTANT! Identify your hardware version. (See top of page) New PRO and LIVE LinkStations have a modified hardware (v2), and will be bricked if the U-Boot bootloader (BOOT) is replaced by using the procedure designed for the older (v1) hardware.

Installation on V1 (OLD hardware) LS PRO using LSUpdater

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).

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

Update BOOT skipped

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.


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:

Enter the following (Replacing <IP ADDRESS> with the IP Address of your Linkstation)

 java -jar acp_commander.jar -t <IP ADDRESS> -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.

UNCHECK "Update BOOT" on Debug window

    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 <IP ADDRESS> -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" 
 ## Use same files as linuxrc
 ## Update the filesystem okay flag
 date > $ROOTFS_OK
 ## delete booting file
 ## Use same files as linuxrc
 ## Update the filesystem okay flag
 date > $ROOTFS_OK
 ## delete booting file
 ## Added to resolve initial freelink boot into EM mode (v2 hardware)
 date > $ETC_ROOTFS_OK
 (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, but the US buffalo site supplies an update to 2.10 firmware (linux, 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 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 
       Download the file LS_Live_103_WebAccess.zip.  The directory with the firmware is

  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

Update BOOT skipped

   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.