Skip to content
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

initial support for building linux kernel with buildrump.sh #78

Open
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
1 participant
@thehajime
Copy link

commented Nov 22, 2015

This commit introduces a new options for buildrump.sh, which is '-l'
option to build Linux kernel. Linux kernel is based on Linux Kernel
Library (LKL) with not-upstreamed patches to implement with rump
hypercall interfaces.

Since LKL is not yet upstreamed and development is still ongoing, the
commit tries to minimize future modifications to this script
(buildrump.sh) by specifying interfaces to build Linux kernel.

Currently, when '-l' option is specified, NetBSD rump kernel code will
be also built in addition to Linux kernel build since Linux part
requires headers files (i.e., include/rump) to build it.

A few more travis tests are also added though it's only build tests at
this moment though.

Signed-off-by: Hajime Tazaki thehajime@gmail.com

@thehajime thehajime force-pushed the libos-nuse:linux-libos branch from f91e6ac to efd6c75 Dec 4, 2015

@thehajime thehajime force-pushed the libos-nuse:linux-libos branch from 639e361 to 630fd34 Mar 10, 2017

@thehajime

This comment has been minimized.

Copy link
Author

commented Mar 10, 2017

I have cleaned up, refactored/rebased, rewritten the commit message, and travis script to raise this PR up again.
(took so long time after the initial PR, but I'm still working on it :))

To summarize, I followed @anttikantee's suggestion (below) to not treat an alternate rump kernel as a second-class citizen. The split files (netbsd.sh and linux.sh) from the main script are for the purpose, but still leave the default build to NetBSD rump kernel as it was.

http://www.freelists.org/post/rumpkernel-users/2-PRs-for-Linux-kernel-with-rump-hypercall,1

I will fill another PR to rumprun later.

@thehajime thehajime force-pushed the libos-nuse:linux-libos branch 2 times, most recently from d3402b4 to 5a1633f Mar 12, 2017

thehajime added a commit to libos-nuse/frankenlibc that referenced this pull request Mar 21, 2017

sync rumpkernel/buildrump.sh#78
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>

@thehajime thehajime force-pushed the libos-nuse:linux-libos branch 3 times, most recently from 039d9be to 294a478 Mar 25, 2017

initial support for building linux kernel with buildrump.sh
This commit introduces a new options for buildrump.sh, which is '-l'
option to specify which rumpkernel (netbsd or linux) is used (default:
netbsd).  Linux kernel is based on Linux Kernel Library (LKL) with
non-upstreamed patches to implement with rump hypercall interfaces.

Since LKL is not yet upstreamed to Linus tree and development is still
ongoing, the commit tries to minimize future modifications to this
script (buildrump.sh) by specifying interfaces to build Linux kernel.

The new rumpkernel support involves the script structure refactor to
split each rumpkernel dependent commands into separate files (netbsd.sh
and linux.sh).

Currently, when '-l' option is specified, NetBSD rump kernel code will
be also built in addition to Linux kernel build since Linux part
requires headers files (i.e., include/rump) to build it.

A few more travis tests are also added though it's only build tests and
no execution tests for Linux at this moment though.  Plus, clang build
is marked as 'allow_failure' since Linux kernel isn't able to build with
clang so far.

There are still a couple of limitations:
- LKL_SRCDIR is hardcoded, which uses the current dir of the (root)
script.
- only build with standalone buildrump.sh.  standalone execution (i.e.,
without rumprun or frankenlibc) are not implemented since LKL itself has
to do it.
- thus, no standalone test are implemented either.

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>

@thehajime thehajime force-pushed the libos-nuse:linux-libos branch from 294a478 to 238ed1f Mar 30, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.