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

nolibc: add initial Linux build and rumprun support #65

Closed
wants to merge 7 commits into from

Conversation

thehajime
Copy link

This commits introduces the initial build support of rumprun unikernel
with Linux kernel, with the buildrump.sh support. Currently nolibc case
is only implemented and tested, where the test is under tests/nolibc.

With a proper configuration after linux build, below should work.

% rumprun qemu -M 512 -g "-nographic -vga none" -i main.elf

For CI test, Linux build gave up to use travis-ci.org since we have
difficulties on random build errors with bigger parallel jobs (i.e., -j
option) and decided to use circleci.com instead: though matrix build of
current circleci is not that useful as travis-ci is.

Currently, buildrump.sh git submodule points to our private repository
(under github.com/libos-nuse): once buildrump.sh is upstreamed, it
should be changed to the main one.

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

This commits introduces the initial build support of rumprun unikernel
with Linux kernel, with the buildrump.sh support. Currently nolibc case
is only implemented and tested, where the test is under tests/nolibc.

With a proper configuration after linux build, below should work.

% rumprun qemu -M 512 -g "-nographic -vga none" -i main.elf

For CI test, Linux build gave up to use travis-ci.org since we have
difficulties on random build errors with bigger parallel jobs (i.e., -j
option) and decided to use circleci.com instead: though matrix build of
current circleci is not that useful as travis-ci is.

Currently, buildrump.sh git submodule points to our private repository
(under github.com/libos-nuse): once buildrump.sh is upstreamed, it
should be changed to the main one.

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

here is a screencast that how current Linux rumprun looks like. You can see write(stdout) is not working yet...

@thehajime
Copy link
Author

Hmm, Travis still doesn't like myself :)

around line 1826:
https://travis-ci.org/rumpkernel/rumprun/jobs/92577013#L1826

g++-4.8: internal compiler error: Killed (program cc1plus)
g++-4.8: internal compiler error: Killed (program cc1plus)
g++-4.8: internal compiler error: Killed (program cc1plus)

it seems like the VM on travis didn't have enough RAM for parallel build.

I didn't touch .travis.yml and new build-rr.sh should not build linux part, so this travis build should be the same as previous commit. git submodule init is different since we added new repository, but I don't see this affects the build error...

I didn't see those issues on circleci and that's why I went with circleci.

does anyone have any ideas ?

@thehajime
Copy link
Author

have completely no idea how travis complained ...

if I deinit lkl-linux git submodule, travis pass the test...

https://travis-ci.org/libos-nuse/rumprun/builds/92656956

then if I reactivate the submodule, the test failed. voila !

https://travis-ci.org/libos-nuse/rumprun/builds/92658747

so this means, the existence of lkl-linux git submodule, which is about 1.4G size btw, does matter..
shiver.

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
kernonly build doesn't generate rumprun

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
@thehajime thehajime force-pushed the linux-nolibc branch 4 times, most recently from 7bcc63a to 01b1a6f Compare December 5, 2015 03:56
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
@ijackson-citrix
Copy link
Contributor

Thanks for the contribution. I'm afraid though that there seem to be some difficult problems here, particularly with respect to the submodules and the travis CI failure. Good luck with fixing them; I'm afraid I don't really understand them well myself.

Regards,
Ian.

@thehajime
Copy link
Author

thanks for closing and agree since i don't have much progress in these days. will open another one once I got back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants