[Vm-dev] Re: Cog Rump Xen unikernel
btc at openinworld.com
Sun Dec 13 16:27:02 UTC 2015
There were a couple of minor log errors below, so I attach a script
that does it all,
tested on 32-bit Debian Jessie.
On Sat, Dec 12, 2015 at 2:57 PM, Ben Coman <btc at openinworld.com> wrote:
> Here is the recipe for my first successful build and run through to an error...
> StackVM.unikernel: could not find any display driver
> This is done under 32-bit Debian 8 Jessie.
> Attached is StackRumpXenUnikernelConfig.st
> # Built the Rumprun Platform
> $ mkdir -p cogunikernel
> $ git clone http://repo.rumpkernel.org/rumprun
> $ cd rumprun
> $ git submodule update --init
> $ CC=cc ./build-rr.sh xen
>>> toolchain tuple: i486-rumprun-netbsdelf
>>> cc wrapper: i486-rumprun-netbsdelf-gcc
>>> installed to "/home/ben/Repos/cogunikernel/rumprun/./rumprun"
> # Generated Cog VM sources
> $ cd ../../cogunikernel
> $ git clone https://github.com/pharo-project/pharo-vm.git
> $ cd pharo-vm/image
> $ ./newImage.sh
> $ ./pharo-ui generator.image
> Tools > File Browser
> Filed in StackRumpXenUnikernelConfig.st
> From class comment, evaluated...
> StackRumpXenUnikernelConfig new
> generateSources; generate.
> # Built the StackVM and StackVM.unikernel
> $ bash build.sh
> # Tested them...
> $ cd ../results
> $ ./StackVM
> > bash: ./StackVM: cannot execute binary file: Exec format error
> Good. That was the expected result.
> $ rumprun xen -i StackVM.unikernel
> > StackVM.unikernel: could not find any display driver
> # Stop unikernel machine running, from another terminal...
> $ xl list
> $ xl destroy rumprun-StackVM.unikernel
> Now I basically just poked, cut and slashed the config until it could
> compile and boot up the unikernel, without regard for what that may
> break. Making the VM *actually* work is bigger step that for now is
> beyond me, but I'll have a bite at it. Really my motivation in doing
> this after I stumbled on the rumprun tutorial, was I wanted to crack
> the seal on it to interest others capable :). I'd be interested if
> the above recipe is successful for others.
> * incorporate rumprun as an auto-built third party library, rather
> than outside, perhaps using git submodule like the rump kernel already
> does (if these can be nested)
> * determine how to deal with different rumprun toolchains (depending
> on which platform the target)
> * move the baking step from the build script to the generated CMake
> * determine how to deal with lack of display
> * determine how an image file might be passed to the VM - maybe baking
> the VM and image into a ram disk (?)
> cheers -ben
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1283 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151214/b68ab348/build-cogunikernel.sh
More information about the Vm-dev