[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 0/7] osstest: add a FreeBSD host
Hello, The following series enables setting up a FreeBSD PVH Dom0 host. Although this is marked as "v3" it should clearly have the RFC tag, I just haven't added it because previous "v2" version was much reduced in functionality and didn't have it. The following extract from an IRC conversation with Ian Jackson should set the basis of what I'm trying to accomplish: < Roger> IanJ: how should I add new trees to OSSTest (like tree_xen), is it only a matter of adding it in the invocation of cs-job-create in mfi-common? < IanJ> Roger: What kind of a tree ? I mean, what are you trying to do ? < IanJ> Perhaps this thing (whatever it is) needs a push gate. Is it cloned by the Makefiles inside xen.git ? < Roger> IanJ: something similar to what is done for pvops, but with FreeBSD, but I'm not sure I'm getting it right... < IanJ> Roger: So you're trying to make a new kind of build job ? < IanJ> ts-freebsd-build or something ? < Roger> IanJ: yup, I think I already have that < Roger> ts-freebsd-host-build < IanJ> So how does that obtain the source code ? < Roger> it doesn't compile itself yet, it just installs from a base image < IanJ> Does it use build_clone ? < IanJ> But you want to change it to build ? < Roger> IanJ: OK, let me explain the whole picture because you will be able to understand it better < IanJ> The way we do it with Linux is we install a distro kernel on the build host, and build the kernel we are going to want to use using our distro's binary packages for compiler etc. < IanJ> Then for the test hosts we install the OS with a distro kernel and then put our own kernel on afterwards. < Roger> IanJ: in order to install FreeBSD from bare metal I use something called mfsBSD, which generates an image that can be booted by pxelinux and contains the FreeBSD installer < Roger> IanJ: in order to bootstrap it, I have placed a stable mfsBSD image on the tftp server, that installs the last stable release 10.1 < IanJ> Roger: How do you run mfsBSD if you don't already have a BSD box ? < Roger> IanJ: you can't < Roger> that's the thing... < IanJ> Ah right. < Roger> IanJ: then I fetch the sources for FreeBSD and mfsBSD, and build an updated image, that I reinstall using pxelinux again... < IanJ> So this is a kind of bootstrap image which performs roughly the same role as our debian-installer image files ? < Roger> IanJ: yes, but we need a FreeBSD box in order to generate up to date images < IanJ> And the osstest test runner VM isn't BSD. I see the problem. < Roger> IanJ: so ideally I was thinking that this job should only run once a week, and generate a new image from upstream, test it, and mark it as OK, so that regular OSStest use it straigh away < IanJ> Roger: That sounds plausible. < Roger> IanJ: now, I have no idea how to implement this, is there something half-similar I can look at? < IanJ> The difficulty is that osstest's push gate is designed to push vcs revisions, not images. < IanJ> I think in fact that most of what's in cr-daily-branch would be stuff which gets in the way. < Roger> IanJ: so you for example rebuild the pvops kernel every time, even if the vcs revision is the same? < IanJ> Yes (except that the bisector can reuse builds). < IanJ> What form is the upstream in ? < Roger> IanJ: I was using git (although the master FreeBSD repo is svn) < IanJ> So you have something which automatically updates the git source ? So we can treat it as git from osstest's pov. < Roger> IanJ: I mean, I was using an official git mirror < IanJ> Right, jolly good. < Roger> IanJ: that's the plan, so we get bisection and a push gate also < IanJ> Roger: So how about this: we somehow make cr-daily-branch, if it decides to push the freebsd branch, also copy the generated image somewhere where other things will pick it up. < Roger> IanJ: that sounds OK to me, I think I should send my OSSTest patches so you can see the mess I did and continue this on email The crappy way I'm currently testing this is by doing the following steps: $ OSSTEST_FLIGHT=standalone OSSTEST_JOB=build-amd64-freebsd OSSTEST_HOST=dt51 ./ts-freebsd-host-install host=dt51 version=10.1-RELEASE $ OSSTEST_FLIGHT=standalone OSSTEST_JOB=build-amd64-freebsd OSSTEST_HOST=dt51 ./ts-freebsd-create-mfsbsd host=dt51 version=798d728a636c7efb6149c352a40e1173234a19e0 $ rm -rf tmp/t.known_hosts_standalone.build-amd64-freebsd # there's no way to tell mfsBSD to generate an image with preseed ssh-keys. $ OSSTEST_FLIGHT=standalone OSSTEST_JOB=build-amd64-freebsd OSSTEST_HOST=dt51 ./ts-freebsd-host-install host=dt51 version=798d728a636c7efb6149c352a40e1173234a19e0 $ OSSTEST_FLIGHT=standalone OSSTEST_JOB=build-amd64-freebsd OSSTEST_HOST=dt51 ./ts-xen-build-prep-freebsd host=dt51 $ OSSTEST_FLIGHT=standalone OSSTEST_JOB=build-amd64-freebsd OSSTEST_HOST=dt51 ./ts-xen-build host=dt51 $ ./cs-adjust-flight -v standalone runvar-set build-amd64-freebsd buildjob build-amd64-freebsd runvar-set build-amd64-freebsd xenbuildjob build-amd64-freebsd $ OSSTEST_FLIGHT=standalone OSSTEST_JOB=build-amd64-freebsd OSSTEST_HOST=dt51 ./ts-xen-install-freebsd host=dt51 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |