Re: ANNOUNCE: /dev/bios - flash rom bios driver

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Thu, 12 Feb 1998 09:43:20 +0100 (MET)


John Labovitz wrote:
>
> Chip Salzenberg said:
>
> > According to Dr. Werner Fink:
> > > What's about mistakes? This interface is very easy and
> > > therefore it _is_ very dangerous, isn't it?
> >
> > I agree. Perhaps the device should require that writing take place
> > at an offset greater than zero ("dd oskip=1k"?), [...]
>
> i'm just a kernel neophyte here, but since we're talking about hacks
> (;-)...
>
> how about a sort of side-device that's used as a guard? this reminds
> me of the big paper-cutter machine i used in high school print shop --
> one had to press the left-button with the left hand and the
> right-button with the right hand, or the blade wouldn't come down. so
> there could be a /dev/bios and /dev/biosguard, the latter of which has
> to be open (for writing, of course) in order for a dangerous write to
> the former. like this:
>
> fd1 = open("/dev/biosguard", O_WRONLY);
> fd2 = open("/dev/bios", O_WRONLY);
> write(fd2, newbioscode, newbioscodelen);
> close(fd2);
> close(fd1);
>
> i'm assuming the bios driver could know which process has opened
> /dev/bios and make sure that same process has also opened
> /dev/biosguard.

I'd drop this last restriction. That way a knowledgable sysop can use
existing command line tools to upgrade the BIOS.

sleep 300 < /dev/biosguard &
dd if=oldbios of=/dev/bios bs=128k count=1

Alan's idea is also a good one. Just make it a module, and allow
everybody to decide wether or not to inmod it.....

Roger.

-- 
If it's there and you can see it, it's REAL      |___R.E.Wolff@BitWizard.nl  |
If it's there and you can't see it, it's TRANSPARENT |  Tel: +31-15-2137555  |
If it's not there and you can see it, it's VIRTUAL   |__FAX:_+31-15-2138217  |
If it's not there and you can't see it, it's GONE! -- Roy Wilks, 1983  |_____|

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu