Create a custom firmware image
From NAS-Central Buffalo - The Linkstation Wiki
m |
|||
| Line 5: | Line 5: | ||
{{Brick|}} | {{Brick|}} | ||
| + | =General= | ||
This is a description how someone can create a custom firmware image. | This is a description how someone can create a custom firmware image. | ||
| Line 34: | Line 35: | ||
'''3) modify the image as you like ''' | '''3) modify the image as you like ''' | ||
| - | Advice: use relative paths if you create symlinks. absolute paths won`t work. | + | Advice: use relative paths if you create symlinks. absolute paths won`t work.<br> |
| - | + | For example you could add telnet as outlined below. | |
'''4) create the tmpimage.tgz again''' | '''4) create the tmpimage.tgz again''' | ||
| Line 64: | Line 65: | ||
you should have a custom image.dat afterwards :) | you should have a custom image.dat afterwards :) | ||
| + | |||
| + | =Howto enable telnet= | ||
| + | |||
| + | '''1)''' place | ||
| + | PPC: | ||
| + | http://downloads.linkstationwiki.net/uploads/LS1-HG-HS(PPC)/BINARIES/utelnetd | ||
| + | |||
| + | MIPSel: | ||
| + | ? | ||
| + | to /sbin and | ||
| + | PPC: | ||
| + | http://downloads.linkstationwiki.net/uploads/LS1-HG-HS(PPC)/STARTSCRIPTS/utelnetd | ||
| + | |||
| + | MIPSel: | ||
| + | ? | ||
| + | to /etc/init.d/<br> | ||
| + | <br> | ||
| + | '''2)'''cd to /etc/rc.d/rc2.d and execute | ||
| + | ln -s ../../init.d/utelnetd S07utelnetd | ||
| + | '''3)''' modify additional stuff or go on with point 4 of the general article | ||
Revision as of 15:39, 14 February 2007
Most of this information was taken from the excellent hacking how-to of geishuettners page.
|
General
This is a description how someone can create a custom firmware image.
This is also the way any special distribution (Projects/OpenLink,Projects/FreeLink,Projects/GenLink) gets developed. (and of course - this was the way how telnet was added to the images)
Note: For the LS Pro (LS-GL), image.dat is called hddrootfs.img and the tarball of the root file system is called hddrootfs.buffalo.updated . If you are making an image for the LS-GL, you will need to alter the commands below accordingly.
There is only one requirment ->You have to know the password of image.dat
1) unzip the image.dat that resides in the zip-file of the base image with the right password
unzip image.dat
provide the right password for the firmware.
the result of this is a tmpimage.tgz...this is the tared root-filesystem of the firmware image.
2) create a folder where you want to untar the image and untar it
mkdir <foldername> cd <foldername> tar -vxz --numeric-owner -p -f ../tmpimage.tgz
now you can see the root-filesystem which normaly resides on /dev/hda1 (or / )
3) modify the image as you like
Advice: use relative paths if you create symlinks. absolute paths won`t work.
For example you could add telnet as outlined below.
4) create the tmpimage.tgz again
(you should be in the folder where you extracted the image)
tar -vczf ../tmpimage-new.tgz . cd .. mv tmpimage.tgz tmpimage-old.tgz mv tmpimage-new.tgz tmpimage.tgz
Note: The LS-GL must be tared with the -C flag
tar -vczf ../hddrootfs.buffalo.updated-new -C /absolute/pathe/to/extracted_image dir1 dir2
dir1, dir2, and so forth are the directories located under the extracted image folder (i.e. bin, dev, etc, home, lib, ...)
cd .. mv hddrootfs.buffalo.updated hddrootfs.buffalo.updated-old mv hddrootfs.buffalo.updated-net hddrootfs.buffalo.updated
5) create the image.dat again
CAUTION: if you use the wrong password, the firmware updater / the linkstation will fail to unzip the image.dat.....this means you will have a wiped /dev/hda1 with no files on it.
Opening the case will be the only possible solutions.
zip -e image.dat tmpimage.tgz
you should have a custom image.dat afterwards :)
Howto enable telnet
1) place
PPC: http://downloads.linkstationwiki.net/uploads/LS1-HG-HS(PPC)/BINARIES/utelnetd MIPSel: ?
to /sbin and
PPC: http://downloads.linkstationwiki.net/uploads/LS1-HG-HS(PPC)/STARTSCRIPTS/utelnetd
MIPSel: ?
to /etc/init.d/
2)cd to /etc/rc.d/rc2.d and execute
ln -s ../../init.d/utelnetd S07utelnetd
3) modify additional stuff or go on with point 4 of the general article


