Getting OpenLink working on a LS-HS
The HS version of the Linkstation has the unique problem of rebooting every five minutes after being flashed with a custom firmware like OpenLink or FreeLink This write-up documents the path taken to perform an OpenLink install on a Linkstation HS. It is detail-oriented (perhaps too much so) to help beginners make the required changes to their box.
This document is heavily based on the work of others:
- Information about controlling the bootloader 
- Information about avr_evtd (it is automatically installed via the webinstaller)
- Beginner's Questions in the HS (ppc) Forum Thread
- 300GB Home Server Questions
- Patch a HS-D300GL - NFS Server
- HS (ppc) Forum Thread on Kernel Updating
- Andre's Webinstaller for the Linux Kernel
- Overview of the Linkstation Firmware Flasher (this is a must read!)
Hardware and software configuration
- Host platform is MS Windows XP (SP2)
- Hardware is the HS-D400GL . I had previously installed my own files (backups, music, etc.) on this disk drive prior to the f/w change, and they were preserved following the f/w change.
- Original HS-D400GL firmware is v1.49.
- Software to be installed is OpenLink v051b and the v2.6 Andre Linux Kernel
- Additional tools installed include the Putty SSH client.
This process can be broken down into four phases:
- Phase 1: Know Your Hardware
- Phase 2: Collect the Tools and Software
- Phase 3: Update The Firmware
- Phase 4: Configure Internet Access
- Phase 5: Update Linux Kernel
...and your done.
PHASE 1: Know Your Hardware
Find out which firmware version your LinkStation has and make very sure you have an HS-DGL (PowerPC) Linkstation. This could either these two model numbers:
If you do not have this specific hardware, it is advised that you find another write-up to help you with the install.
It is advised that you back up the files on this drive before performing this work. However, a normal installation process should preserve your files.
PHASE 2: Collect the Tools and Software
Perform the following steps using the computer you will eventually directly connect to the LinkStation to perform the firmware update.
- Download both the HS-DGL-Firmware and the HG-Openlink
- http://downloads.linkstationwiki.net/stock_firmware/hs-dgl_DirectCopy_149_107.zip (stock or the telnet-enabled, both have the firmware-updater included)
- Unzip both packages in a seperate folder
- Copy the image.dat from the openlink-HG-package over the image.dat of the HS-DGL-Folder.
- Download the PuTTY executable from the Putty site using this direct link to the executable: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe You can place this in a convenient place on your hard drive (perhaps a "My Documents" folder). It does not require installation and is run by double-clicking the executable. This is the program you will eventually use to communicate with your modified LinkStation at the command level.
- Change the Run Mode of the Putty executable by right-clicking on the downloaded file "putty.exe", selecting the Compatibility tab, then selecting "Run this program in compatibility mode for: Windows 2000" and click OK.
Now you have the tools to perform the firmware change and you're ready for Phase 3.
PHASE 3: Update the Firmware
Here you will actually change the operating firmware of the HS-DGL box. You will directly connect to the LinkStation, then perform the update. It is strongly recommended that you connect both the computer and the LinkStation to an UPS to make sure a power failure does not impact your update.
1) Using the LinkStation web application, if you wish to use a static IP disable the DHCP client function. You'll then need to select an IP address the box will use. Pick an IP address that is in the same sub-range as your network. For example, if your own computer's IP address is 192.168.0.5, you can set the LinkStation IP to an unused IP address on your network (perhaps 192.168.0.20). The LinkStation will take a minute to restart with the new IP address. See the screenshot below for what this looks like:
2) Now change your own computer over to using a static IP address. This can be done by right-clicking the Network Connection icon and selecting Properties. Again, choose an unused IP address in the same sub-range as your network (and the LinkStation). I chose 192.168.0.21.
3) Disconnect the LinkStation and your own computer from the network. Connect them together directly (do not use a hub or a router). I used a crossover cable, but this is likely not required as the LinkStation auto-senses the connection. You should see network connectivity on your computer now.
4) This step is very important: Disable any and all firewalls, virus checkers, spyware filters, etc. you have running on your computer. Examples of this include Norton, MacAfee, OneCare, etc. Also, go to Start, Control Panel, Windows Firewall and make sure this is OFF. Finally, make sure the only enabled network adapter in your computer is the one that is connected to the LinkStation. If you're using a laptop, make sure the wireless networking is disabled.
5) Now you are ready to actually udpate the firmware. Double-click on the file called "hs-dgl_DirectCopy_149_107\hs-dgl_DirectCopy_149_107" that you have on your hard drive. Remember, this is the folder in which you replaced the "image.dat" file in the previous phase. This will start up the firmware update utility.
6) You will be prompted for the administrator password. I left this blank. I had no password set on my linkstation (except for secure folder access).
7) Click the "Renew Firmware" button. The f/w will load (it took about 2 minutes in my case). You will then see a "Settings are being restored message" and a couple of LinkStation soft re-boots will occur. When you see the message "Firmware has been renewed" you can click OK to exit the updater.
|For the remainder of this Phase, the box may appear to re-boot every 5 minutes or so. This will require you to re-log back into the box. This annoyance will be fixed in Phases 4 and 5|
8) Following the instructions found in the Readme file in the OpenLink distribution folder, you will now create the SSH keys. Open up a command dialog on your computer using Start, Run, cmd. In this black dialog box, enter the following:
telnet 192.168.0.20 (or the actual static IP you used for the LinkStation)
9) At the "bash-2.05a#" prompt enter the following (use the clipboard - it's easier!):
dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
10) Now copy and paste the following command at the "bash-2.05a#" prompt:
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
11) Now change the root password by entering the following at the "bash-2.05a#" prompt
you will be prompted to enter a new password and then confirm this password. Don't forget what you enter here!
12) Now it a good time to confirm you can communicate to the box using SSH. To confirm SSH is working, you'll use the putty.exe application you downloaded in Phase 2. Double-click on the putty.exe file on your computer. It will prompt you for an IP address of the LinkStation. Use the IP you assigned (it is 192.168.0.20 in this write-up). Putty will establish a connection to the box, and prompt you that this is the first time, and ask if a connection is OK. You can say "YES". Now you are prompted for a username and password. Use "root" (without the quotes) for a username, and enter the password from Step 11 above. You should now have a black dialog box with the prompt "root@[Lsdrive]:~#" where "Lsdrive" is the logical name assigned to your specific LinkStation. This means you can communicate to the box using SSH.
13) This step will disable telnet on the LinkStation. If you wish to disable telnet on your LinkStation, enter the following at the "bash-2.05a#" prompt:
If you DO NOT wish to remove telnet access (this is the case if you plan on installing TwonkyVision), then you need to edit a file using the vi editor . Enter this command to start the vi editor:
and use the vi editor to change the line
"/sbin/utelnetd -l /bin/bash &" TO THIS>> "/sbin/utelnetd -l /bin/login &"
(all without the quotes). Now save the file and exit the vi editor.
Now your LinkStation is using firmware that has OpenLink available and the version 2.4 Linux kernel. You can also communicate to the LinkStation securely using SSH, and optionally via telnet. Unfortunately, your LinkStation will now appear to soft reboot about every 5 minutes. This will be fixed in the next two Phases.
PHASE 4: Configure Internet Access
The LinkStation will need to communicate to the internet in Phase 5 to update the Linux kernel from v2.4 to v2.6. You need to tell the LinkStation how to do this. That is, you need to specify a gateway address. This is the address of your router on your normal network. Mine is 192.168.0.1. If you are using a Linksys router, it is likely 192.168.1.1.
1) For the kernel 2.6-webinstaller to run you need your HS be able to connect to the internet. If you use DHCP all is fine. If you use a static IP, execute
echo 'nameserver 126.96.36.199' > /etc/resolv.conf
This is a public nameserver....you can replace the IP with the nameserver of your choice...for example the same you use on your other hosts. If you are familiar with the VI text editor, you can simply edit the /etc/resolv.conf file and add the line to the end of the file.
2) Now perform a hard re-boot of the LinkStation (Press and hold the power button).
3) You can now disconnect the LinkStation from your computer and connect both the LinkStation and your computer back to the router. If you like, you can set your computer back to using DHCP for it's IP address. Leave the LinkStation's IP static for now.
PHASE 5: Update the Linux Kernel
- Solve the "soft-reboot" problem
You will now use the webinstaller to update the Linux kernel on your LinkStation. This will fix the rebooting problem. This is best done by copying and pasting the command lines directly into the SSH dialog box. Once on the clipboard, you only need to right-click at the command prompt to past the command onto the command line, and then you can simply press the "Enter" button.
You must perform these steps quickly after beginning as soon as possible following a reboot of the LinkStation. Suggestion: Set up two windows side-by-side on your monitor: One with these commands ready to copy, and the other is the SSH dialog box.
The process below does not use a temp folder. I found the temp folder was wiped out with each reboot, and I'm not fast enough to complete the process without a reboot occurring! However, the steps below seemed to work just fine.
1) Log into the LinkStation using SSH using putty.exe
2) execute these commands (about 2 minutes to execute if broadband internet connection):
cd /mnt/share mkdir kernelinst cd kernelinst wget http://hvkls.dyndns.org/downloads/latest-openlinkhelper.tar.gz tar -C / -xvzf latest-openlinkhelper.tar.gz chmod 1777 /mnt/share/kernelinst
3) Now execute these commands (less than 20 seconds to execute):
wget http://hvkls.dyndns.org/downloads/latest-webinstaller.tar.gz tar -C / -xvzf latest-webinstaller.tar.gz
4) Now is a good time to let the LinkStation re-boot itself so there's time to execute the next step without interuption.
5) As soon as a reboot occurs, log back into the LinkStation using putty.exe. Execute this command to perform a 'dry run' of the kernel installation. This just checks to make sure everything will work OK
6) If the above looks OK (takes about 3 minutes to complete), wait for the next reboot, then do the installation for real:
this will ask you to re-boot when completed.
7) Once re-booted, log back into the LinkStation using SSH (putty.exe) and execute the following command:
and this should reply with a version 2.6 kernal confirmation.
Congratulations! You're now running with OpenLink 051b with SSH access and the version 2.6 Linux kernel.
- Upgrade to the 2.6-kernel: The boot_process and how to control it
- AVR watch-dog daemon for Linkstation
- The Linkstation Community Forum / Linkstation HS (ppc) / Beginner's Questions
- The Linkstation Community Forum / Linkstation HS (ppc) / 300GB Home Server Questions
- The Linkstation Community Forum / Linkstation HS (ppc) / Patch a HS-D300GL - NFS Server
- The Linkstation Community Forum / Linkstation HS (ppc) / HS-D300GL - 5 Min Reboot Returning after shutdown
- Andre's Webinstaller for the Linux Kernel
- The LinkStation firmware flasher
- HS-D400GL Buffalo Product Page
- FAQ: How can I find out which Firmware version my LinkStation has?
- vi Tutorial