From: Jacob Gorm Hansen <jacobg@diku.dk>
To: xen-devel <xen-devel@lists.xensource.com>
Subject: cstrap
Date: Sat, 11 Jun 2005 14:45:33 -0700 [thread overview]
Message-ID: <42AB5B7D.8050606@diku.dk> (raw)
hi,
I've released the latest source for 'cstrap' which is a minimal guest
domain that is able to decode a special type of ramdisk containing a
Linux ELF image, and cmdline and memory information.
The source is available at www.diku.dk/~jacobg/cstrap.tar.gz
You need to unpack it in your xen checkout, the you will get the
directories extras/cstrap and tools/migrate.
To build;
$ cd extras/mstrap
$ jam
(you need to have jam installed, in debian or gentoo just apt-get
install jam / emerge jam).
That will give you the files cstrap and linux_loader, in the 'build'
directory at the toplevel.
in tools/migrate is a small tool called pack.c, which creates the input
ramdisk from linux_loader, a kernel image (uncompressed), and an
optional ramdisk. Currently you will need to edit and compile that
yourself, with
$ cc -o pack pack.c
You then create a domain from cstrap using xm create or vm-tools, and
you need to make sure is has room to expand its reservation with 16 megs
(I needed to hack vm-create to be allowed to specify this at domain
creation time, the exact amount can be changed in pack.c) and
specifiying the output of pack.c as the initial ramdisk image.
The new cstrap guest VM will then start up, decode the linux ELF from
its ramdisk, and turn over control. If everything is working, you now
have a normal, running Linux VM.
The reason you may want this is that
a) you don't need to worry about ELF parsing attacks on dom0, and
b) you can write arbitrary untrusted guest loaders (builders) without
changing software in dom0.
Jacob
next reply other threads:[~2005-06-11 21:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-11 21:45 Jacob Gorm Hansen [this message]
2005-06-24 12:22 ` cstrap Grzegorz Milos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42AB5B7D.8050606@diku.dk \
--to=jacobg@diku.dk \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.