[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: 64-bit bootloaders



Hi,

I downloaded the pre-prepared disk image and this worked just fine. I think my 
misunderstanding was that boot16b.bin (bootsector on bootable partition) loads 
pure64.sys from the FAT16 fs and then this reads pure64.cfg which tells it to 
load kernel64.sys, switch to 64-bit and jump.

Anyway, the easy way to hack on this is just to replace kernel64.sys on the 
pre-prepared disk and reboot. I replaced it with the (obviously inappropriate) 
.text section of a PV kernel and it GP faulted somewhere, helpfully dumping 
register contents.

Now I've just got to learn some asm :-)

Cheers,
Dave

> -----Original Message-----
> From: Anil Madhavapeddy [mailto:anil@xxxxxxxxxx]
> Sent: 04 July 2012 20:57
> To: Dave Scott
> Cc: cl-mirage@xxxxxxxxxxxxxxx
> Subject: Re: 64-bit bootloaders
> 
> It's supposed to hang; I think you just booted a bare kernel with no
> actual application.
> 
> See the programs/ directory for apps.
> http://www.returninfinity.com/docs/BareMetal%20OS%20-
> %20Application%20Examples.html
> 
> That should output to the serial console.  My Xen machine seems to be
> down due to some recent flooding in our machine room, so I'll have to
> try it tomorrow from the Lab.
> 
> It actually looks pretty straightforward to bootstrap hypercalls from
> this (just writing to the special MSR to get the hypercall page), and
> then be in our normal OS.Xen module...
> 
> -anil
> 
> On 4 Jul 2012, at 20:51, Dave Scott wrote:
> 
> > Ah yeah that worked for me once I upgraded my nasm :)
> >
> > I made a 128MiB disk with a single partition and tried to format it
> with mtools using
> >
> > $ mformat -B boot16.bin -f 1440 a:
> > (after editing my /etc/mtools.conf)
> >
> > And then
> >
> > $ mcopy kernel64.sys a:
> >
> > ...
> >
> > And then the boot hangs under xen -- do you have something like
> virtualbox handy?
> >
> >
> > Cheers,
> > Dave
> >> -----Original Message-----
> >> From: Anil Madhavapeddy [mailto:anil@xxxxxxxxxx]
> >> Sent: 04 July 2012 20:47
> >> To: Dave Scott
> >> Cc: cl-mirage@xxxxxxxxxxxxxxx
> >> Subject: Re: 64-bit bootloaders
> >>
> >> It works fine if you do:
> >>
> >> $ cd BareMetal-OS/os
> >> $ nasm kernel64.asm -o kernel64.sys
> >>
> >> The files are all included and not intended to be separately
> compiled.
> >>
> >> -anil
> >>
> >> On 4 Jul 2012, at 20:05, Dave Scott wrote:
> >>
> >>> Not yet-- you're already ahead of me! I'll maybe try an older
> >> environment since you're trying wheezy.
> >>>
> >>> --
> >>> Dave Scottt
> >>>
> >>> On Jul 4, 2012, at 7:03 PM, "Anil Madhavapeddy" <anil@xxxxxxxxxx>
> >> wrote:
> >>>
> >>>> Have you tried it?  I just downloaded it via the Github repo at
> >> https://github.com/ReturnInfinity/BareMetal-OS
> >>>>
> >>>> It appears to use NASM instead of GAS, but I'm not sure which
> >> version to try.  Compiling under Debian/wheezy/amd64 gives all sorts
> of
> >> interesting compilation errors:
> >>>>
> >>>> $ nasm fat16.asm -o fat16.sys
> >>>> fat16.asm:170: error: impossible combination of address sizes
> >>>> fat16.asm:170: error: invalid effective address
> >>>> fat16.asm:177: error: impossible combination of address sizes
> >>>> fat16.asm:177: error: invalid effective address
> >>>>
> >>>> I'll take a look later, but wondering if you have a working build
> >> environment before I dig deeper.  It looks like its intended to be
> >> built on Windows, judging from the lack of Makefiles.
> >>>>
> >>>> -anil
> >>>>
> >>>> On 4 Jul 2012, at 08:19, Dave Scott wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> I came across this project:
> >>>>>
> >>>>> http://www.returninfinity.com/pure64.html
> >>>>>
> >>>>> It's a 64-bit OS bootloader with minimal backwards compat stuff
> >> under a BSD license. Perhaps we could glue it onto mirage to
> complement
> >> the xen PV support. It would be fun to write an IDE driver in
> ocaml :-)
> >>>>>
> >>>>> Cheers,
> >>>>> Dave
> >>>>>
> >>>>
> >>>
> >
> >




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.