Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 25 Jun 2018, 14:00
All times are UTC - 4
 Forum index » Off-Topic Area » Programming
Modified squashfs dictionary
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [1 Post]  
Author Message

Joined: 15 Jan 2009
Posts: 734

PostPosted: Thu 10 Dec 2009, 22:04    Post subject:  Modified squashfs dictionary
Subject description: Warning: this is more like a rant .....

Hmmm .....

[rant mode ON]

I have several old modem routers with broadcom bcm6345/6348 chipset. They're working fine (yeah, linux is on them all) ... just that I need to make several changes to the apps, like busybox, ssh, wol, configurations, removing stuffs, etc, etc ... Only doing the changes that I need to have a more stable and secure routers ...

The firmware format is more or less known. The gpl sources for the platform is available from several verndors (BT-voyager, siemens, Usr, etc, etc) ... but the rootfs which is using Squashfs-lzma v1 were modified to use a different dictionary (known as broadcom variant) ... and the modified dictionary headers/sources (or even a compatible mksquashfs binary) are not included with the gpl sources ..... Mad

I've found a working unsquashfs for the rootfs image. Scouring the net for compatible mksquashfs has not been fruitful ..... (Querying the vendors have all came back empty .....)

I've been working on-and-off on this (in my free time) for the past two weeks ..... did some modified mksquashfs binaries while guessing the proper dictionary/mods used in the broadcom variant. All I want is to unsquash, modify/upgrade some files/apps and squash it back. Now, only the last part is the show stopper ....

The the best result so far that I got was a version that must've borked up the content at certain point due to wrong dictionary .... meaning that re-combining the rootfs into the firmware and flashing to the routers resulted in bootable routers with a listable rootfs but scrambled file contents in certain parts ....

I've had better results finding (broadcom variant) squashfs v2/v3 but using them would mean changing the kernel and recompile the whole thing from scratch ... If this was a x86 PC platform, it's a non-issue ... but this is a MIPS platform with broken driver sources ...

So, I wonder .... if anyone here understand the old squashfs v1 format (with lzma) and how to reverse engineer the dictionary/headers. Any pointers would be much obliged ........

[rant mode OFF]

Yeah, not really a programming question .... Its been a lot of fun to be able to do cross compile on puppy and running qemu-mips on puppy too ..... An eye opener for me to see how they squeeze all that OS stuff into 2MB of flash ..... Maybe I'll just KIV this until I have more free time .....

Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [1 Post]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Off-Topic Area » Programming
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0397s ][ Queries: 11 (0.0069s) ][ GZIP on ]