LimHD:Firmware
Building a new Firmware
Unpack firmware
unrar x update.rar mount -o loop -t romfs update.bin /mnt rsync -arv /mnt limdata
Now all the work is in limdata/ For example, you should have limdata/linux.bin.gz
telnetd
Make sure you have a symlink for telnetd.
cd limdata/sbin/ ln -s ../bin/busybox telnetd
Add it to start up:
cd limdata/etc/init.d/ vi S30network
add four line, between the existing lines near the end:
insmod gpio_int.o mkdir /tmp/dev/ mknod /tmp/dev/fuse -m 0666 c 10 229 /usr/sbin/telnetd & /usr/sbin/inetd /etc/inetd.conf & cd /curacao ./curacao /mnt /dev/ir
Don't forget the & sign.
fuse support
Copy the fuse binaries:
cd /downloaded_files/ cp fuse.o limdata/ cp fusermount ntfs-3d remount limdata/usr/bin/ cp ftpd limdata/usr/bin/ cp busybox_ext2 /bin/ cp inetd.conf /etc/
Create symlinks
cd /sbin/ ln -s ../bin/busybox_ext2 e2fsck ln -s ../bin/busybox_ext2 e2label ln -s ../bin/busybox_ext2 fdisk ln -s ../bin/busybox_ext2 fsck ln -s ../bin/busybox_ext2 fsck.ext2 ln -s ../bin/busybox_ext2 mke2fs ln -s ../bin/busybox_ext2 mkfs.ext2 ln -s ../bin/busybox_ext2 tune2fs
ext2 support in curacao
If you want to be able to use internal HDD with ext2 filesystem type, you need to do this patch. Edit curacao with your favorite hex editor. I use emacs, in hexl-mode, but anything will work. (Not vi though). For details you can view LimHD:EXT2 ext2 link, but essentially, find the string vfat near the /dev/ide/ section. (Which is after /dev/scsi/ - ie USB), and replace this string with "ext2". Also change iocharset=utf8 with nocheck.
BEFORE:
002c8940: 6172 740a 0000 0000 2f64 6576 2f69 6465 art...../dev/ide 002c8950: 2f68 6f73 7430 2f62 7573 302f 7461 7267 /host0/bus0/targ 002c8960: 6574 302f 6c75 6e30 2f70 6172 7425 6400 et0/lun0/part%d. 002c8970: 2f6d 6e74 2f48 4425 642f 0000 7666 6174 /mnt/HD%d/..vfat 002c8980: 0000 0000 696f 6368 6172 7365 743d 7574 ....iocharset=ut 002c8990: 6638 0000 2573 2564 0000 0000 6e74 6673 f8..%s%d....ntfs 002c89a0: 0000 0000 6e6c 733d 7574 6638 0000 0000 ....nls=utf8....
AFTER:
002c8940: 6172 740a 0000 0000 2f64 6576 2f69 6465 art...../dev/ide 002c8950: 2f68 6f73 7430 2f62 7573 302f 7461 7267 /host0/bus0/targ 002c8960: 6574 302f 6c75 6e30 2f70 6172 7425 6400 et0/lun0/part%d. 002c8970: 2f6d 6e74 2f48 4425 642f 0000 6578 7432 /mnt/HD%d/..ext2 002c8980: 0000 0000 6e6f 6368 6563 6b00 743d 7574 ....nocheck.t=ut 002c8990: 6638 0000 2573 2564 0000 0000 6e74 6673 f8..%s%d....ntfs 002c89a0: 0000 0000 6e6c 733d 7574 6638 0000 0000 ....nls=utf8....
Don't forget to null-terminate the nocheck string. Key sequence usage for emacs is:
emacs -nw curacao M-x hexl-mode (M-x means ESC-x, or if setup correctly, ALT-x) C-s vfat (C-s is ctrl-s, or Search.) C-s (Second C-s searches for 2nd occurence of VFAT) C-g (Stop search) M-x overwrite-mode Position cursor to start of vfat ext2 Position cursor to start of iocharset=ut8 nocheck M-C-x (or, ESC then ctrl-x to input hex number) 00 (insert hex 00) C-x C-s (Save buffer, answer yet to losing undo buffer) C-x C-c (Quit emacs)