[syslinux] Read disk with open()/read()?

Gordon Schumacher gordon at rebit.com
Sat Dec 15 12:14:52 PST 2007


On Fri, 14 Dec 2007 17:14:26 -0800, H. Peter Anvin wrote:
> Using the COM32 library, no.  You could create a device descriptor for 
> it and use opendev() (I don't use filename tricks, because it prevents 
> the linker from doing its job.)
>   
After a bunch more digging, I'd concluded the much the same thing. I'm 
puzzled what you mean about the linker though - do you mean ld? If so 
what does it have to do with what we're passing to com32's open function?
> chain.c has code to read raw disks, obviously, but it doesn't use the 
> device layer.  I'm not 100% sure if using the device layer is desirable, 
>   since it's rather limited and doesn't (currently) support seeks, but 
> I'd be interested in hearing people's opinion on it.
>   
Well... so I have an lseek() function that works for com32 as well now, 
even for seeking backwards. (To be fair I haven't tested it strenuously 
yet.) I've also got some changes that allow one to use 
open/read/lseek/etc. on the raw disk.

At this point, really, I have a bunch of patches to submit to y'all and 
see what you think; I'm just working on getting the place to store them 
set up first. Should be within the next week or so... I've been busy 
busy, hehe...




More information about the Syslinux mailing list