New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build: run DragonflyBSD VMs on GCE? #23060

Open
bradfitz opened this Issue Dec 8, 2017 · 6 comments

Comments

Projects
None yet
2 participants
@bradfitz
Member

bradfitz commented Dec 8, 2017

Looks like Dragonfly now supports virtio:

https://leaf.dragonflybsd.org/cgi/web-man?command=virtio&section=4

So it should run on GCE?

If somebody could prepare make.bash scripts to script the install to prepare bootable images, we could run it on GCE.

See the netbsd, openbsd, and freebsd directories as examples: https://github.com/golang/build/tree/master/env

(The script must run on Linux and use qemu to do the image creation.)

/cc @tdfbsd

@gopherbot gopherbot added this to the Unreleased milestone Dec 8, 2017

@gopherbot gopherbot added the Builders label Dec 8, 2017

@bradfitz

This comment has been minimized.

Member

bradfitz commented Dec 9, 2017

@bradfitz

This comment has been minimized.

Member

bradfitz commented Dec 9, 2017

In that thread, @rickard-von-essen says:

I have a working packer build of DragonFly BSD https://github.com/boxcutter/bsd.

The most interesting parts are the boot_command
https://github.com/boxcutter/bsd/blob/master/dragonflybsd.json#L5
and actual installer script https://github.com/boxcutter/bsd/blob/master/http/install.sh.dfly

@bradfitz

This comment has been minimized.

Member

bradfitz commented Aug 7, 2018

/cc @dmitshur

@bradfitz

This comment has been minimized.

Member

bradfitz commented Nov 2, 2018

Update: I just ran Dragonfly (5.2.2) at home on QEMU/KVM with virtio-scsi and virtio net and it works fine.

So it should work fine on GCE, of course (which we already heard).

At this point I'm thinking we should just do this builder "by hand" for now, with a readme file with notes. I'll prepare the image by hand, then shut it down and copy its disk to a GCE image. (uploading it as a sparse tarball)

We can automate it with expect or whatnot later. Perfect is the enemy of good, etc.

@bradfitz

This comment has been minimized.

Member

bradfitz commented Nov 2, 2018

I shut down my KVM/QEMU instance, copied its disk to a new GCE image, and created a GCE VM. It kernel panics on boot (over serial) with:

panic() at panic+0x236 0xffffffff805f8666 
panic() at panic+0x236 0xffffffff805f8666 
vfs_mountroot() at vfs_mountroot+0xfe 0xffffffff80672c7e 
mi_startup() at mi_startup+0x84 0xffffffff805c2a64 
Debugger("panic")
CPU0 stopping CPUs: 0x0000000e
 stopped
Stopped at      Debugger+0x7c:  movb    $0,0xe67a49(%rip)
db> 

So, uh, not as easy as I'd hoped.

@bradfitz

This comment has been minimized.

Member

bradfitz commented Nov 2, 2018

Perhaps if we already have to do the whole double virtualization thing for Solaris (#15581 (comment)) anyway, we could just reuse that mechanism to run Dragonfly in qemu/kvm under GCE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment