|
|
(44 intermediate revisions by 14 users not shown) |
Line 1: |
Line 1: |
| {{Articles|LSPro}} | | {{Articles|LSPro}} |
− | {| cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#f9f9f9;" | <span style="font-size:150%;"><center>'''LS-GL Custom Firmware Development'''</center></span><br /> | + | |
− | | [[Image:LS-Pro-grey2.jpg|100px|right|Any questions?]] | + | |
| + | {| align=right cellpadding="5" cellspacing="5" style="width:100%; border:1px solid #ddcef2; margin-bottom:0.5em; vertical-align:top; background-color:#f9f9f9;" |
| + | |- |
| + | |rowspan=2 width=50%| __TOC__ |
| + | || [[Image:LS-Pro-grey2.jpg|100px|right|Any questions?]] |
| | | |
| '''<big>LS-GL Custom Firmware Development</big>'''<br> | | '''<big>LS-GL Custom Firmware Development</big>'''<br> |
| 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.}} |
| + | |} |
| + | |
| + | '''Please fix and update these sections. Also, please correct any grammar and spelling errors. Thanks --- [[User:Jonli447|Jonli447]] |
| | | |
− | '''Please fix and update these sections. Also, please correct any grammar and spelling errors. Thanks -- jonli447'''
| |
| =Using the Firmware Updater= | | =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:
| + | * <big>[[LS-Pro - Using the Firmware Updater]]</big> |
− | *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.
| + | |
− | | + | |
− | There is a pre-made telnet enabled firmware available at [http://downloads.linkstationwiki.net/arm9-LS_Pro/telnet_enabled_no_root_password/LSPro-103.zip here].
| + | |
− | | + | |
− | '''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 [http://linkstationwiki.net/index.php?title=LS-GL_Custom_Firmware_Development#Heinz.27_Method 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.
| + | |
− | | + | |
− | | + | |
− | ====Detailed Steps====
| + | |
− | 1) Connect the hard drive to a pc running Linux (i.e. Knoppix boots directly from cd/dvd)
| + | |
− | | + | |
− | 2) Find out how it was recognized. (i.e. in Knoppix there are some shortcuts on the desktop).
| + | |
− | | + | |
− | 3) Open a shell/commandline/terminal.
| + | |
− | | + | |
− | 4) Mount the second partition of the sata hdd to somewhere.
| + | |
− | | + | |
− | 5) Delete everything on the partition
| + | |
− | | + | |
− | 6) Download the telnet enabled hddrootfs.img located in this [http://downloads.linkstationwiki.net/arm9-LS_Pro/telnet_enabled_no_root_password/LS-GL-103.zip zip]
| + | |
− | | + | |
− | 7) Unzip hddrootfs.img...you will be prompted for a password.
| + | |
− | it is:
| + | |
− | IeY8omJwGlGkIbJm2FH_MV4fLsXE8ieu0gNYwE6Ty
| + | |
− | | + | |
− | 8) Untar the resulting file to the second partition:
| + | |
− | tar xzvf <file> <path_where_you_mounted_the_first_partition>
| + | |
− | | + | |
− | 9*) mount /dev/sda1 (assuming the sata drive is the first special drive connected on the pc) somewhere
| + | |
− | *extract conf_saved.tgz, remove password in etc/shadow to look like:
| + | |
− | root::11009:0:99999:7:::
| + | |
− | | + | |
− | 10*) re-tar the contents of conf_saved.tgz, replace conf_saved.tgz to /dev/sda1,
| + | |
− | umount
| + | |
− | | + | |
− | | + | |
− | (*)These steps still need to be tested further!!!
| + | |
− | *Steps originally drafted by mindbender.
| + | |
− | | + | |
− | ===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 [http://downloads.linkstationwiki.net/arm9-LS_Pro/telnet_enabled_no_root_password/enable-telnet.sh here]. Heinz also made a pre-made firmware package with his script. It can be downloaded [http://downloads.linkstationwiki.net/arm9-LS_Pro/telnet_enabled_no_root_password/LS-GL_FW_103-modified.zip 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.
| + | |
− | * reverse the whole zip/tar process to create a useable firmware update again.
| + | |
− | ====Instructions====
| + | |
− | ===Georg's Method===
| + | |
− | Georg modified Heinz' automatic script. For those with access, the script it is available in [http://downloads.linkstationwiki.net/uploads/LS_Pro_temporary/telnet_enabled_no_root_password/ LS_Pro Temporary Upload Folder for Telnet Enabled Firmwares]
| + | |
− | *'''Testing Needed'''
| + | |
− | ====Instructions====
| + | |
− | | + | |
| =Toolchains= | | =Toolchains= |
− | ===Cross Toolchain===
| + | * <big>[[Precompiled C Cross-Toolchain]]</big> |
− | *[http://www.codesourcery.com/gnu_toolchains/arm/releases/2005q3-2 Codesourcery for Arm version 2005q3-2] is suggested. Please look at [http://forum.linkstationwiki.net/index.php?action=vthread&forum=16&topic=1535&page=0 Toolchain from codesourcery] for more information. | + | =Opened Firmwares= |
− | | + | ==Telnet enabled firmware== |
− | '''Todo:''' Import information from forum.
| + | ===Jtymod=== |
− | | + | * <big>[[LS-Pro - jtymod telnet enabled firmware]]</big> |
− | ===Native Toolchain=== | + | ===Open Stock Firmware=== |
− | *Yugi has managed to get a working native toolchain. It is available [http://downloads.linkstationwiki.net/uploads/LS_Pro_temporary/NativeToolchain/ls-gl-pro-native-toolchain.tar.gz here] | + | * <big>[[Open Stock Firmware]]</big> |
− | | + | ==FreeLink== |
− | '''Todo:''' Import information from forum here.
| + | * <big>[[FreeLink for the Linkstation Pro]]</big> |
− | | + | |
− | =OpenLink= | + | |
− | *Development for the LS-GL is too young. Official Openlink development has not started yet.
| + | |
− | ==Oh1jty's Firmware== | + | |
− | ''version 1.03-0.49-jtymod2''
| + | |
− | [[image:Buffalo1.jpg|150px|right|thumb]] | + | |
− | [[image:Buffalo2.jpg|150px|right|thumb]]
| + | |
− | | + | |
− | '''Changelog:'''
| + | |
− | *'''Features'''
| + | |
− | ** New debug menu
| + | |
− | ** Clear root password
| + | |
− | ** Give shell commands
| + | |
− | *'''Programs'''
| + | |
− | ** ssh enabled
| + | |
− | ** telnet disabled (for security reasons)
| + | |
− | ** rsync enabled (via ssh) for /mnt/disk1
| + | |
− | ** joe editor added
| + | |
− | ** wget url fetcher added
| + | |
− | ** dd_rescue added (you can backup failed usbdrives with badblocks etc.)
| + | |
− | ** dp500serv Kiss DP-x server added (not on by default, start with /etc/init.d/dp500serv.sh start or add dp500serv.sh to /etc/init.d/rcS)
| + | |
− | *'''Download from'''
| + | |
− | ** http://oh1jty.toimii.net/linkstation/LS-GL_FW_103-jtymod2.zip
| + | |
− | ** http://downloads.linkstationwiki.net/arm9-LS_Pro/LS-GL_FW_103-jtymod2.zip
| + | |
− | *'''More info on this firmware'''
| + | |
− | ** [http://forum.linkstationwiki.net/index.php?action=vthread&forum=16&topic=1743 The Linkstation Community Forum / Linkstation Pro (arm9) / Firmware mods]
| + | |
− | ** http://oh1jty.toimii.net/linkstation/ | + | |
− | | + | |
− | =FreeLink=
| + | |
− | lb_worm has managed to Debanize the LS-GL. Though this is not an official FreeLink yet, it is a tremendous start. See [http://forum.linkstationwiki.net/index.php?action=vthread&forum=16&topic=1535&page=0 Debian] for more information.
| + | |
− | | + | |
− | '''Todo:''' Import information from forum.
| + | |
− | | + | |
| =Development Tools= | | =Development Tools= |
− | *For the same reasons as OpenLink, development tools has not been created yet. | + | * <big>[[Precompiled C development environment, running on the LS]]</big> |
− | | + | =GPL Kernel= |
| + | <big> |
| + | <dpl> |
| + | category=LSPro |
| + | category=Kernel |
| + | </dpl> |
| + | </big> |
| =Other Development= | | =Other Development= |
− | ===GPL Kernel=== | + | ===chroot Arm Build Environment=== |
− | lb_worm is currently working on the kernel project. See [http://forum.linkstationwiki.net/index.php?action=vthread&forum=18&topic=1548&page=0 Outlook on LS Pro Kernel Development]
| + | * <big>[[LS-Pro - chroot Arm Build Environment]]</big> |
− | | + | |
− | '''Todo:''' Import information from forum.
| + | |
− | | + | |
− | ===Custom Updater===
| + | |
− | See [http://linkstationwiki.net/index.php?title=Category:Opensource_Firmware_Updater Opensource_Firmware_Updater] and [http://forum.linkstationwiki.net/index.php?action=vthread&forum=19&topic=1693 LS-GL Custom Updater Thread] for more information.
| + | |
− | | + | |
− | '''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.
| + | |
− | *wget
| + | |
− | ===User Accomplishments===
| + | |
− | '''Please post accomplishments that don't fit into the above categories here'''
| + | |
− | *Someone got ssh up and running (sorry, I can't remember who...please give credit if you know).
| + | |
− | | + | |
| =Related Forum Topics= | | =Related Forum Topics= |
− | *[http://forum.linkstationwiki.net/index.php?action=vthread&forum=16&topic=1501 Telnet Access] | + | *[http://forum.nas-central.org/index.php?action=vthread&forum=16&topic=1501 Telnet Access] |
− | *[http://forum.linkstationwiki.net/index.php?action=vthread&forum=19&topic=1599 Native Toolchain] | + | *[http://forum.nas-central.org/index.php?action=vthread&forum=19&topic=1599 Native Toolchain] |
− | *[http://forum.linkstationwiki.net/index.php?action=vthread&forum=16&topic=1535&page=0 Codesourcery Toolchain] | + | *[http://forum.nas-central.org/index.php?action=vthread&forum=16&topic=1535&page=0 Codesourcery Toolchain] |
− | *[http://forum.linkstationwiki.net/index.php?action=vthread&forum=19&topic=1693 Custom Updater] | + | *[http://forum.nas-central.org/index.php?action=vthread&forum=19&topic=1693 Custom Updater] |
− | *[http://forum.linkstationwiki.net/index.php?action=vthread&forum=18&topic=1548 Kernel Development] | + | *[http://forum.nas-central.org/index.php?action=vthread&forum=18&topic=1548 Kernel Development] |
− | *[http://forum.linkstationwiki.net/index.php?action=vthread&forum=16&topic=1535&page=0 Debian for LS-GL] | + | *[http://forum.nas-central.org/index.php?action=vthread&forum=16&topic=1535&page=0 Debian for LS-GL] |
− | *[http://forum.linkstationwiki.net/index.php?action=poll&pollaction=vote&pollID=10 OpenLink for LS-GL Debate Poll] | + | *[http://forum.nas-central.org/index.php?action=poll&pollaction=vote&pollID=10 OpenLink for LS-GL Debate Poll] |
− | *[http://forum.linkstationwiki.net/index.php?action=poll&pollaction=vote&pollID=12 Optware IPKG Feed Poll] | + | *[http://forum.nas-central.org/index.php?action=poll&pollaction=vote&pollID=12 Optware IPKG Feed Poll] |
− | '''Todo:''' Add information to above sections.
| + | |