LS-GL Custom Firmware Development
This wiki page is to document the work and progress in developing a custom firmware for the LS Pro (LS-GL) The goal of this page is to sort out the roadmap and accomplishments towards creating an OpenLink and FreeLink for the LS-GL. Though this page is mainly for developers, anyone is free to add their work.

WARNING!

The methods and information described below are intended for advanced users. Much of the information has not been verified by the development team. As a result, all users must exercise caution when performing any of the described methods. Failure to do so may result in a bricked Linkstation.

Using the Firmware Updater

It is aparent, like all of the Linkstations, that the firmware does not want to update the firmware if the LS-GL reports the same firmware version as the the one to be that's to be sent to the LS-GL (i.e. a modified firmware). The work around is to:

Add to lsupdater.ini

[SpecialFlags]
Debug

Change in lsupdater.ini

VersionCheck = 1

to

VersionCheck = 0

Open linkstation_version.txt in any text editor (i.e. vi). Edit either the BOOT=, KERNEL=, INITRD=, or ROOTFS= (this is the main firmware and filesystem) to choose what to update by changing the version to a higher number.

i.e. by setting rootfs to a higher number, the filesystem will get updated, but uboot, kernel, and initrd won't get updated.

Steps originally drafted by Georg.

Note: We are not positive if only one segmet (i.e. rootfs) will get updated. This method must be fully tested to find this out.

Telnet Access

We have successfully managed to create a telnet-enabled firmware for the LS-GL. Fortunately for us, the LS-GL already came with a telnet binary in the stock firmware. Telnet can be enabled by uncommenting line 42 in /etc/init.d/rcS and repackaging hddrootfs.

Note: The above firmware package does not enable root access. For users that already have root access, this firmware is fine. There is testing being done for a telnet enabled firmware that includes root access. See below. Also, for repackaging the firmware, see Create_a_custom_firmware_image. The current firmware password is:

IeY8omJwGlGkIbJm2FH_MV4fLsXE8ieu0gNYwE6Ty

Removing Root Password

We are currently working on removing the Melco root password in the stock firmware. Some users have managed to do this, but the development team as a whole has not agreed to which method to use.

Manual Method

The general idea is to open connect the sata drive to a desktop running a linux distribution (i.e. Knoppix or Ubuntu). Then remove root password in /etc/shadow.

Heinz' Method

Heinz made a script to automatically convert a downloaded stock firmware into a telnet enabled firmware with root access. The script is made for the German firmware. The script is available here. Heinz also made a pre-made firmware package with his script. It can be downloaded here.

Testing Needed

The script mainly does the following things:

retrieving the actual firmware update from the buffalo site.

unzip the archive to a tmp directory

modify linkstation_version, because the updater only updates "newer" firmwares. It seems this can be overwritten in the debug mode (see georg's changes)

for modifing the installed image. it is unzipped (using the current password)

then to start the (already installed) telnetd, some comments in the rcS script are removed.

because the password of the root login is not known, it needs to be removed. Modifing /etc/shadow had not worked, so currently we change the web interface, which runs with root permissions, to do it for us.