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.

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.

−

|}<br>

+

|-

+

||

+

{{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.}}

{{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.}}

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:

+

* <big>[[LS-Pro - Using the Firmware Updater]]</big>

−

*Add to lsupdater.ini

+

−

[SpecialFlags]

+

−

Debug = 1

+

−

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

+

−

+

−

''jonli, should I move the following more technical part about Erics excellent work into a separate section? - Georg''

+

−

===Updater Specifications===

+

−

* As EricC documented on the LS-GL side clientUtil_server handles the update process and replies to various "ACP"-Commands, which are similar for the LS-GL and the Kurobox:

+

−

+

−

*;LSP Commands

+

−

:8020 ACP_Discover

+

−

:8080 ACP_FIRMUP2

+

−

:80A0 ACP_?? Possible Password?

+

−

:8A10 ACP_CMD

+

−

:8B10 ACP_?? Sent after 8080 and contains the filename. TCP File transfer starts after reply

+

−

:8B20 ACP_?? Sent after TCP file transfer

+

−

*;LSP Responses

+

−

:C020 ACP_Discover_Reply

+

−

:COAO Reply of 80A0

+

−

:CA10 ACP_CMD_Reply

+

−

:CB10 ACP_??_Reply 8B10

+

−

:CB20 ACP_??_Reply 8B20

+

−

:CB21 Sent after CB20. Same format with data changes Update complete?

+

−

*;KuroBox Commands

+

−

:8020 ACP_Discover

+

−

:8070 ACP_FIRMUP_END

+

−

:8080 ACP_FIRMUP2

+

−

:8090 ACP_Info_HDD

+

−

:8A10 ACP_CMD

+

−

*;KuroBox Responses

+

−

:C020 ACP_Discover_Reply

+

−

*;Looking at the command word:

+

−

:Bit 15 = 1

+

−

:Bit 14 is 0 for command and 1 for reply

+

−

:Bits 11 to 8 appear to be the command class

+

−

:Bits 7 to 4 appear to be the command in the class.

+

−

:Bits 3 to 0 appear to be a sequence number in the response.

+

−

+

−

*The updater on the LS-GL receives ziped images and tries to unzip them by testing for the following passwords

+

−

**1NIf_2yUOlRDpYZUVNqboRpMBoZwT4PzoUvOPUp6l

+

−

**aAhvlM1Yp7_2VSm6BhgkmTOrCN1JyE0C5Q6cB3oBB

+

−

**YvSInIQopeipx66t_DCdfEvfP47qeVPhNhAuSYmA4

+

−

**IeY8omJwGlGkIbJm2FH_MV4fLsXE8ieu0gNYwE6Ty

+

−

+

=Toolchains=

=Toolchains=

* <big>[[Precompiled C Cross-Toolchain]]</big>

* <big>[[Precompiled C Cross-Toolchain]]</big>

−

=Opened Firmwares=

=Opened Firmwares=

==Telnet enabled firmware==

==Telnet enabled firmware==

Line 71:

Line 27:

===Open Stock Firmware===

===Open Stock Firmware===

* <big>[[Open Stock Firmware]]</big>

* <big>[[Open Stock Firmware]]</big>

−

==FreeLink==

==FreeLink==

* <big>[[FreeLink for the Linkstation Pro]]</big>

* <big>[[FreeLink for the Linkstation Pro]]</big>

−

−

=Development Tools=

=Development Tools=

* <big>[[Precompiled C development environment, running on the LS]]</big>

* <big>[[Precompiled C development environment, running on the LS]]</big>

−

+

=GPL Kernel=

−

=Other Development=

+

−

===GPL Kernel===

+

<big>

<big>

<dpl>

<dpl>

Line 87:

Line 38:

</dpl>

</dpl>

</big>

</big>

−

+

=Other Development=

−

===Custom Updater===

+

===chroot Arm Build Environment===

−

See [http://linkstationwiki.net/index.php?title=Category:Opensource_Firmware_Updater Opensource_Firmware_Updater] and [http://forum.linkstationwiki.net/viewtopic.php?f=19&t=1693 LS-GL Custom Updater Thread] for more information.

+

* <big>[[LS-Pro - chroot Arm Build Environment]]</big>

−

+

−

'''Todo:''' Import information from the forum here.

+

−

+

−

===IPKG Feed===

+

−

This is just idea at the moment. See [http://forum.linkstationwiki.net/index.php?action=poll&pollaction=vote&pollID=12 Optware IPKG Feed Poll]

+

−

===Binaries===

+

−

Some binaries (i.e. wget) have been compiled for the LS-GL.

+

−

+

−

Please post successfully binaries that should be included in an OpenLink here.

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.