using block devices as harddisks

Damien Mascord tusker at tusker.org
Wed Jun 26 19:03:59 EST 2002


uhmm...

what does this have to do with openssh?...

> Hello everybody,
>
> I'm currently working to get bochs to support block devices (eg.
> /dev/hda) as  harddisks.
> I downloaded the current release
> 	http://prdownloads.sourceforge.net/bochs/bochs-1.4.tar.gz
> and found that size detection doesn't work.
>
> Here's a patch to get the detection working.
>
> But I got another problem: the bios won't boot if there are more than
> 15  heads! Is there another bios which support 255 heads? the parameter
>  "newharddrivesupport" doesn't work (of course - that's a bochs
> parameter, but the bios is another point)
> I'd need to have something along the lines spt=63, heads=255, cyls=1023
>
>
> Can somebody help me please?
>
>
> Regards,
>
> Phil
>
>
>
>
> diff -urN bochs-1.4.orig/iodev/harddrv.cc bochs-1.4/iodev/harddrv.cc
> --- bochs-1.4.orig/iodev/harddrv.cc     Mon Mar 25 02:47:14 2002
> +++ bochs-1.4/iodev/harddrv.cc  Wed Jun 26 09:42:51 2002
> @@ -2779,6 +2779,20 @@
>     if (ret) {
>          BX_PANIC(("fstat() returns error!"));
>     }
> +    if (S_ISBLK(stat_buf.st_mode))
> +    {
> +/* it's a block device. st_size will be 0, so set it to the correct
> size. */ +      if
> (ioctl(fd_table[i],BLKGETSIZE,&(stat_buf.st_size))==-1)
> +        BX_PANIC(("size of block device %s can't be read",pathname));
> +      if (stat_buf.st_size > (0x7ffffff/512))
> +      {
> +       BX_ERROR(("size of disk image is too big, rounded down")); +
>     stat_buf.st_size=0x7ffffe00; /* maximum size without overflow */ +
>     }
> +      else
> +        stat_buf.st_size*=512; /* returned value is sectors */
> +      /* what about an overflow here? should possibly use fstat64 */ +
>    }
>     if ((stat_buf.st_size % 512) != 0) {
>       BX_PANIC(("size of disk image must be multiple of 512 bytes"));
>     }
> diff -urN bochs-1.4.orig/bochs.h bochs-1.4/bochs.h
> --- bochs-1.4.orig/bochs.h      Tue Mar 26 14:59:36 2002
> +++ bochs-1.4/bochs.h   Wed Jun 26 09:34:59 2002
> @@ -58,6 +58,7 @@
> #else
> #  ifndef WIN32
> #    include <sys/time.h>
> +#    include <sys/mount.h>
> #  endif
> #  include <sys/types.h>
> #  include <sys/stat.h>
>
> _______________________________________________
> openssh-unix-dev at mindrot.org mailing list
> http://www.mindrot.org/mailman/listinfo/openssh-unix-dev






More information about the openssh-unix-dev mailing list