Quote:
Originally Posted by knc1
Another little chore . . . .
FAT-32 does not support symbolic links (required to get the symantics of *nix library sonames correct).
There are (at least) two ways to deal with that:
FAT{,16,32} does partially support hard-links (at least until you run dosfsck on it) ;
The target library of the links could be copied to each of the less specific names (makes a large increase in disk usage, but we have 3Gbytes) ;
or
some combination of the above.
It would probably be appropriate to do that in a custom, post-build, script.
Decisions, decisions, decisions. . . .
|
if you use fileroller to export to fat it does that for you. 'ln -s' become the actual files.
this tells me that doubtless some underlying process is being invoked that supports this. possibly tar -
tar -h, --dereference follow symlinks; archive and dump the files they point to
--hard-dereference follow hard links; archive and dump the files they refer to
EDIT: I looked around this issue some more and have experience created junction points / hard links in MS server application but AIUI FAT would see this as a file error (IIRC).
It's Not impossible by any means:
I found example code to create symbolic link support for FAT drives but it WOULD REQUIRE at the very minimum a windows related process on the filesytem (invoking wine might do it), there are also various MS utilities throughout the ages that could do this.
BUT I don't think this is a good solution given the PITA and probably fschk complaints. There would need to be a good reason and IMHO I don't see one yet.
In this case the 'rolled out' version of the file would probably be far less painful to manage.
I am using these 'Rolled Out' copies successfully now.
Quote:
It would probably be appropriate to do that in a custom, post-build, script.
|
me@dev ~/somewhere_else
CD YOUR_BUILDROOT_OUTPUT_FOLDER/images ~(let's say ~/BLDS/kindle/images for ease)
cp the rootfs.tar to a temp.
cp rootfs.tar rootfs.temp.tar
me@dev ~/BLDS/kindle $
tar --delete -vf ./rootfs.temp.tar ./dev/ ./home/ ./media/ ./mnt/ ./opt/ ./proc/ ./root/ ./run/ ./sys/ ./tmp/ ./var/ ./linuxrc
copy that onto your device in the root of
mnt/us (or somewhere on the fat partition anyways) and run tar with --extract --dereference on it.
I'll go check the exact local tar command as I don't use it (I extract via sftp)
But it will be something like
[root@kindle]# tar -xvf ./rootfs.temp.tar --dereference
err no. busybox tar doesn't support that. I'll have another think.
That process will get us the good stuff easily splattered into a nice tar.