From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [RFC] linuxboot Option ROM for Linux kernel booting Date: Tue, 22 Apr 2008 08:50:21 -0500 Message-ID: <480DED1D.8080701@us.ibm.com> References: <9cde8bff0804202032k6bd44ac6td913c05410e6284@mail.gmail.com> Reply-To: qemu-devel@nongnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm-devel@lists.sourceforge.net, Paul Brook , qemu-devel@nongnu.org, "H. Peter Anvin" To: Nguyen Anh Quynh Return-path: In-Reply-To: <9cde8bff0804202032k6bd44ac6td913c05410e6284@mail.gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org Nguyen Anh Quynh wrote: > Hi, > > This should be submitted to upstream (but not to kvm-devel list), but > this is only the test code that I want to quickly send out for > comments. In case it looks OK, I will send it to upstream later. > > Inspired by extboot and conversations with Anthony and HPA, this > linuxboot option ROM is a simple option ROM that intercepts int19 in > order to execute linux setup code. This approach eliminates the need > to manipulate the boot sector for this purpose. > > To test it, just load linux kernel with your KVM/QEMU image using > -kernel option in normal way. > > I succesfully compiled and tested it with kvm-66 on Ubuntu 7.10, guest > Ubuntu 8.04. > For the next rounds, could you actually rebase against upstream QEMU and submit to qemu-devel? One of Paul Brook's objections to extboot had historically been that it wasn't not easily sharable with other architectures. With a C version, it seems more reasonable now to do that. Make sure you remove all the old linux boot code too within QEMU along with the -hda checks. Regards, Anthony Liguori > Thanks, > Quynh > > > # diffstat linuxboot1.diff > Makefile | 13 ++++- > linuxboot/Makefile | 40 +++++++++++++++ > linuxboot/boot.S | 54 +++++++++++++++++++++ > linuxboot/farvar.h | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++ > linuxboot/rom.c | 104 ++++++++++++++++++++++++++++++++++++++++ > linuxboot/signrom |binary > linuxboot/signrom.c | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++ > linuxboot/util.h | 69 +++++++++++++++++++++++++++ > qemu/Makefile | 3 - > qemu/Makefile.target | 2 > qemu/hw/linuxboot.c | 39 +++++++++++++++ > qemu/hw/pc.c | 22 +++++++- > qemu/hw/pc.h | 5 + > 13 files changed, 600 insertions(+), 9 deletions(-) >