[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 > >>>>> > >>>> > >>> > > > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |