Dit is een versie van http://nomadness.net/modules.php?name=Forums&file=viewtopic&p=4126503 zoals opgeslagen in het cachegeheugen van G o o g l e op 10 feb 2008 16:29:01 GMT.
G o o g l e's cache is de momentopname die we van deze pagina hebben gemaakt toen we het web doorzochten.
De pagina kan ondertussen gewijzigd zijn. Klik hier voor de huidige pagina zonder selectie
Deze in cache opgeslagen pagina bevat mogelijk koppelingen naar afbeeldingen die niet meer beschikbaar zijn. Klik hier voor de in cache opgeslagen tekst.
Gebruik de volgende URL om deze pagina aan je Favorieten toe te voegen of ernaar te linken: http://www.google.com/search?q=cache:0IjiSDeK-vkJ:nomadness.net/modules.php%3Fname%3DForums%26file%3Dviewtopic%26p%3D4126503+site:nomadness.net+minifs&hl=nl&ct=clnk&cd=1&gl=be&client=firefox-a


Google heeft geen banden met de auteurs van deze pagina en is niet verantwoordelijk voor de inhoud ervan
Deze zoektermen werden geselecteerd: minifs 


Username: Password:
Welcome Anonymous
Main Menu
- Home
- News Archive
- Player Info

- Forums
- Nomad Newsgroup

- FAQ
- Reviews
- Articles
- Web Links
- Downloads

- IRC Chat
- Members List
- Your Account
- Stats
- Top 10
- Cartoon
- Feedback
- AvantGo
- Submit News

Search
Google
Web nomadness.net

Our Supporters


Google Ads

User Info
Welcome, Anonymous
Nickname
Password
(Register)
Membership:
Latest: jackinthebox
New Today: 2
New Yesterday: 3
Overall: 15521

People Online:
Visitors:
Members:
Total: 0

Help to help us


Pay by NOCHEX

nomadness.net: Forums

Forums Home faqs search members list user groups profile private msg
NJB3 filesystem
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    Nomadness.net Forum Index -> Firmware Hacks
View previous topic :: View next topic  
Author Message
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Mon Feb 20, 2006 11:11 pm    Post subject: AAArgh Reply with quote

I have just wrote nice BIG post about newest finding and got 'page not found' after pressing "Sumbit".. DAMN! Sad

Saying short:
* I have found the file attribs.db. Its size written in master list is way bigger that real length of the file. The master list states 0xA1A0, and I see 0x1378.
* That file consists of 0x78bytes of header (know nothing about contents yet) and the rest are file records. 0x30 bytes per file. There is one stragne 0x10byte record, if I recall well - 0000 FFFF FFFF FF FF FF FF FF FF FF FF 00 F8. I dont know what it is, it's just in the part describing the original music files from factory.
* The file record is:
- 4B filehandle (that is, the user-space cluster ID where the file descriptor sits
- 4B filelength
- 4B creation timestamp
- 2B song length in seconds
- 2B ??
- 2B locked = [00|01] unlocked = [FF|FF]
- 2B times 15 of ??
* I know nothing about other master files yet:|
* I succesfully unlocked 3 files and downloaded them in the very normal way.
* I have successfully locked one of my music files :] Fun Smile
Back to top
View user's profile Send private message  
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Wed Feb 22, 2006 5:44 pm    Post subject: 2 volumes Reply with quote

At first, I thought that the MINIFS and CFS are indication that there are two 'sections' - one being a big 20-mb firware-managed database file, and that the CFS is the fiesystem holding the user's data.

Now I'm absolutely sure that there are two separate volumes on the disk.

The sector 0x000 is the master record holding information about what volumes are on the disk. It is moreless that what I had described previously, but there are some differences in sizes I still have to work out..

Beggining at sector 1, begins MINIFS volume. It has clusters of 8 sectors, and in fact is constructed (in that order) of strange cluster with one number, that I still dont unserstand, then list of cluster chains, then directory that points to elements of that list, then a cluster being a cluster-usage bitmap (in fact, whole cluster is wasted but the bitmap is about a one sector long) then goes one cluster unknown for now, and then goes the data section with clusters of the files (cluster-to-file relation is defined in chains).

And just after the MINIFS, the CFS volume begins. This one has clusters of 16 sectors. On the beggining of the volume are cluster of 0xFF, then cluster of 0x00, then cluster with BFS1 section which contains some volume-specific data (don't remember now, I have them written on one of the hunderds od notes :} ), then goes cluster totally ambiguous, then we have cluster-usage bitmap consisting of about 0x26 clusters, and the sector right after it is the metarecord of very root directory of the volume.

I say that they are two separate volumes, because both of them have their own:
* cluster usage bitmap
* root directory
* lists of file's cluster chains
* and.. the size of the cluseter differs - 8 sectors in mini-, 16 in cfs.

MINIFS is actually limited one directory, with the number of file entries limited to exact 255 entries (by the amount of space the chain list may take up) and the file is limited fo exactly 6MB (by the max. amount of entries in one chain).
CFS fully supports directory trees of many levels - the directories probably have file limit, but I didn't got it yet.

So, I'm probably able now to write simple driver that handles not-too-big directory and files Wink I say so, because... I still dont know what happens when a file (in CFS) is so large that the two clusters (supplied by default to every file, even if the file is one byte long) are not enough to hold its clusterchain.. There is similar question with directories - what happens when a directory is so large (for example the directory with user files) that doesnt fit in supplied space ... or whatif the file's metarecord doesnt fit in a cluster (looong attributes' names, or sucha..)

As an interesting detail, I can tell you that it uploading one file costs:
* file entry in the directory (few dozens of bytes)
* file metarecord with beggining of clusterchain and some metadata (1 cluster, maybe more sometimes)
* external cluster chain (2 clusters, maybe more sometimes)
* space for the data of the file (at least 1 cluster)
total: at least 4 clusters times 16 sectors times 512B = 32kB

So, if you have uploaded 1000 of text files with text "test", it will eat at least 32MB of disk space Smile
For comparison, I have just made the same on my NTFS volume with 1kB clusters - one megabyte plus directory overhead not shown by explorer.

So.. remember - zip/tar/whatever all the small data files before uploading Smile
Back to top
View user's profile Send private message  
clippert
Regular
Regular


Joined: Mar 09, 2003
Posts: 133

PostPosted: Thu Feb 23, 2006 1:30 am    Post subject: Reply with quote

I assume you have already tried, but have you loaded up the databases in a program? By the looks of the filename and knowledge of the licensing, it may well turn out to be the famous Berkely Database.

I would be surprised if between the databases they didn't contain most of the information you need about the locations of files and track tags.
Back to top
View user's profile Send private message Visit poster's website  
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Thu Feb 23, 2006 1:43 am    Post subject: Reply with quote

From the point I found out the metarecords and external clusterchains, I wondered where I have already seen sucha thing..

And now I remembered - the linux' EXT2 filesystem Smile I don't know why I didn't thought of it earlier..

The previously so-called metarecord, is an inode. And its conceptual structure is similar to the linux' inode. As I said, there is a list of 13 first entries in a cluster chain ('direct blocks'), and a reference to two clusters holding external chains. Now, as I finally noticed similarities to extfs, I think that in fact the first cluster is an external chain ('indirect blocks') and the second cluster is most probably list of additional external chains ('doubly indirect blocks'). That would solve the problem how really big files are stored.

I didn't checked whever it really works this way. I just had an 'Eureka!' about 'Where I have seen all of it before..'

Stating clearly - the CreativeFS (CFS) is not the EXT2 filesystem. It lacks (according to my present knowledge on it) for example the inode bitmap and the inode table. The inodes are stored in the same space as file's data. The directory file's structure is similar, but different. On the first layer - there is just mentioned directory structure, used to keep files that store inode numbers for second layer. Inodes' numbers that are kept in that files, are not mentioned anywhere in the CFS.

Thus, were the entry if sucha master file be deleted/damaged, the pointed file is lost. So.. it acts like CFS is two file systems in one. The latter embedded in the former.

This is a bit of strange design solution as for a volume.. I'm just thinking.. Its dual concept is interesting but ermmm... risky and/or overcomplicated? Maybe it is that, the firmware is layered, too.. There may be a 'filesystem' layer that operates on the low-level layer of the FS and handles bitmap, inode, blocks and dimplest file operations, then a 'support' layer that handles the very root directory and the master files, then a 'database' layer build on the masterfiles for easy storage of information - but still having access to 'filesystem' layer and capable of writing its own directory structure and files that are *completely invisible* to the 'support' layer and treated by it as ambiguous holes in the disk space, and finally the 'player' layer that uses the 'database' layer for reading and writing metainfo, mp3streams and all the rest of data.. I can't imagine now any other rational need for such a strange duality of the FS in the CFS..

am I getting boring again? sorry:) okay, okay, yawn.. sleep.. seeya

PS. I think I am overloaded with work.. during the day I was working on the MINIFS and once I stumbled upon something that was 0x6800+-1 bytes long. Now, later I remembered that in on of the first clusters of MINIFS, is a cluster filled with zeroes and one int32 - 0x000067FF. I wasted an hour trying to remember WHAT WAS x6800 bytes long and still cannot.. damn you, short-term memory!!
Back to top
View user's profile Send private message  
influe
Newbie
Newbie


Joined: Feb 25, 2006
Posts: 5

PostPosted: Sat Feb 25, 2006 3:38 pm    Post subject: Reply with quote

I'm not quite sure what you guys are doing here in this thread, my zen recently died and there was some pretty important data stored on it. Now I haven't done anything to try and recover it yet, no firmware upgrades etc etc. Is there any way I can recover my files?
Back to top
View user's profile Send private message  
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Sat Feb 25, 2006 10:38 pm    Post subject: Reply with quote

actually, yes. As long as you have the drive from the device. For now, I am able to recover virtually any file, providing it wasnt damaged or overwritten.. but I know how to do it manually, with hexeditor and the drive connected to PC. I'm working on a driver that will allow direct and more convenient access to the filesystem on the disk - I mean, once I finish, you will be able to mount the FS under linux and simply read those files by standard linux commands..

but I'm on the beggining and it will take a while.. so will explaining how the filesystem is constructed Neutral

uh oh.. Zen you say.. I hope his filesystem is the same as NJB3 Smile
Back to top
View user's profile Send private message  
Al_G
Regular
Regular


Joined: Dec 30, 2003
Posts: 90

PostPosted: Sun Feb 26, 2006 7:27 am    Post subject: Reply with quote

quetzalcoatl wrote:
- I mean, once I finish, you will be able to mount the FS under linux and simply read those files by standard linux commands..

but I'm on the beggining and it will take a while.. so will explaining how the filesystem is constructed Neutral



To quetzalcoatl:

I've been following your posts (I have two NJB3s) with interest, but most of it is beyond my computer knowledge. Anything that you (and others) discover might expand the usefulness of my player, and I applaud you.

When I received my my second NJB3, I made a disk image of it before doing anything else. If it would be useful, I can mail a DVD copy of this to you. It's about all I can contribute to this endeavor.
Back to top
View user's profile Send private message  
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Fri Mar 03, 2006 1:33 am    Post subject: Reply with quote

that would be very helpful, even more if you have non-20gig disk inside. However mailing something to Poland (Europe) where I live, may not be so comfortable way :} Actually, the thing that would help most now are first 20..30megs of the disk, so it would be great if you could dump them, zip, and place somewhere I could download them from Smile
Back to top
View user's profile Send private message  
influe
Newbie
Newbie


Joined: Feb 25, 2006
Posts: 5

PostPosted: Fri Mar 03, 2006 3:03 pm    Post subject: Reply with quote

quetzalcoatl wrote:
actually, yes. As long as you have the drive from the device. For now, I am able to recover virtually any file, providing it wasnt damaged or overwritten.. but I know how to do it manually, with hexeditor and the drive connected to PC. I'm working on a driver that will allow direct and more convenient access to the filesystem on the disk - I mean, once I finish, you will be able to mount the FS under linux and simply read those files by standard linux commands..

but I'm on the beggining and it will take a while.. so will explaining how the filesystem is constructed Neutral

uh oh.. Zen you say.. I hope his filesystem is the same as NJB3 Smile


Is there a way I can find that out myself? Because at this moment I have no Idea what the hell you're doing, but it sounds really promising Very Happy
Back to top
View user's profile Send private message  
Al_G
Regular
Regular


Joined: Dec 30, 2003
Posts: 90

PostPosted: Sat Mar 04, 2006 4:08 am    Post subject: Reply with quote

quetzalcoatl wrote:
that would be very helpful, even more if you have non-20gig disk inside. However mailing something to Poland (Europe) where I live, may not be so comfortable way :} Actually, the thing that would help most now are first 20..30megs of the disk, so it would be great if you could dump them, zip, and place somewhere I could download them from Smile


I have the first 30MB saved from the factory install of the 20GB disk and I can get the first ~30MB from a 40GB and an 80GB drive. The first file compresses down to 10MB. Do you have a fast Internet connection? If so, I can arrange for the files to be left on a FTP server for you. You can leave a message for me, either here or at my gmail address (aeg2004@g. . .) and I can give you the IP address and log-in instructions. I should be able to get the dumps for all three drives this weekend. Would you like a freshly formatted version of the drives, too - for comparison?
Back to top
View user's profile Send private message  
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Mon Mar 06, 2006 7:25 pm    Post subject: Reply with quote

Uh oh.. sorry for not answering lately.. During the weekend I helped in one event organized in my city and I was totally out..

You asked me - sure!! I'm writing an email to you right now Smile everyting you said will be very helpful! especially those freshly formatted 20,40 and 80 gig, as they will show differences in layout and will (I hope) show which unknown fields have meaningful values disk- and filesystem-oriented, and which are just OS's integrity/correctness checks ^^
Back to top
View user's profile Send private message  
JakeAmes
Regular
Regular


Joined: Jan 11, 2002
Posts: 298
Location: North Vancouver, BC

PostPosted: Sun Mar 19, 2006 11:14 pm    Post subject: Reply with quote

If you guys can figure out to 'fix the big hard drive ie 80-100-? GB' playlist bug, I would probably send money! Smile

I am not a programmer nor micro code kind of guy and there is little I can contribute (Al-G has done more than what I could do) but I confident that there is a signficant community out there of folks who would be VERY happy if there was a solution to the big hard drive issue on JB3/Zen Xtra's.

cheers,
jake
_________________
"it's all about the music!"
Back to top
View user's profile Send private message  
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Thu Mar 23, 2006 9:25 pm    Post subject: Reply with quote

in case of any doubt - i'm still working on the drivers Smile i "just" found playing with kernel mode a bit harder than i thought Smile
Back to top
View user's profile Send private message  
henkie
Newbie
Newbie


Joined: Jul 20, 2003
Posts: 17
Location: The Netherlands, Enschede

PostPosted: Thu Mar 23, 2006 10:00 pm    Post subject: Reply with quote

quetzalcoatl are you aware of the FUSE project(http://fuse.sourceforge.net/)?
It allows you to implement a filesystem in a userspace program. Being a userspace program is should be safer and easier to debug.
Back to top
View user's profile Send private message  
quetzalcoatl
Regular
Regular


Joined: Feb 28, 2004
Posts: 43

PostPosted: Fri Mar 24, 2006 9:05 pm    Post subject: Reply with quote

yep, I know of them. there are two other userspace fs 'platforms', but I acnt recall names of them now.. I found about them after getting along with VFS, and I deciced that I'll stay with kernelmode, just because I know how to write the fs module here.. Probably, when I'll be adding write support, I'll move the code to usermode - for the debugging capabilities - but now I'm still making readonly version, and thankfully I can't damage the disk accidentially Smile Anyways, I'm thinking of the FUSE and related, but have postponed it until I actually have any working version
Back to top
View user's profile Send private message  
Display posts from previous:   
Post new topic   Reply to topic    Nomadness.net Forum Index -> Firmware Hacks All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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


Powered by phpBB 2.0.6 © 2001 phpBB Group

Version 2.0.6 of PHP-Nuke Port by Tom Nitzschner © 2002 www.toms-home.com
Forums ©
MDesign
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2002 by nomadness.net
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Page Generation: 9.073 Seconds