L4STeam / linux

Kernel tree containing patches for TCP Prague and the dualpi2 qdisc
Other
47 stars 16 forks source link

Set up GitHub actions to build dpkg, etc. #4

Closed larseggert closed 3 years ago

larseggert commented 3 years ago

It would be great if you could set up a GitHub Actions workflow that would build Debian packages, etc. of the kernel for easy experimentation.

(You probably want to do something like this for CI reasons anyway.)

oliviertilmans commented 3 years ago

Hi,

There is already an action that builds *deb archive for the kernel and uploads in as artifact; At the time at which it was setup, it was not possible to link the latest artefact--i.e., only urls such as https://github.com/L4STeam/linux/suites/1514802885/artifacts/26645899 would work. I have not followed the latest action updates, did that change?

I'll note that I should add one for the iproute2 package though...

Best, Olivier

-----Original Message----- From: Lars Eggert notifications@github.com Sent: Thursday, November 19, 2020 3:01 PM To: L4STeam/linux linux@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [L4STeam/linux] Set up GitHub actions to build dpkg, etc. (#4)

It would be great if you could set up a GitHub Actions workflow that would build Debian packages, etc. of the kernel for easy experimentation.

(You probably want to do something like this for CI reasons anyway.)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/L4STeam/linux/issues/4 , or unsubscribe https://github.com/notifications/unsubscribe- auth/AAJVCUN5PS5SUGWU6VWCJ4DSQUQIBANCNFSM4T3N5HTA . https://github.com/notifications/beacon/AAJVCUIKINBVSI52P25WXQTSQUQIBA5CNF SM4T3N5HTKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4LEAL52Q.gif

larseggert commented 3 years ago

There is some discussion and an approach described in https://github.com/actions/upload-artifact/issues/21, but I have not used it myself.

larseggert commented 3 years ago

Also, the https://github.com/L4STeam/linux/suites/1514802885/artifacts/26645899 URL only works if one is logged into GitHub, so can't be easily used with wget, etc.

oliviertilmans commented 3 years ago

Thanks for suggestion. You should now be able to access *.debs for the kernel from the following stable URL: https://github.com/L4STeam/linux/releases/download/testing-build/l4s-testing.zip

I'll check whether it is feasible to also include an iproute2 as part of that release zip.

-----Original Message----- From: Lars Eggert notifications@github.com Sent: Thursday, November 19, 2020 3:51 PM To: L4STeam/linux linux@noreply.github.com Cc: Tilmans, Olivier (Nokia - BE/Antwerp) <olivier.tilmans@nokia-bell- labs.com>; Comment comment@noreply.github.com Subject: Re: [L4STeam/linux] Set up GitHub actions to build dpkg, etc. (#4)

Also, the https://github.com/L4STeam/linux/suites/1514802885/artifacts/26645899 URL only works if one is logged into GitHub, so can't be easily used with wget, etc.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/L4STeam/linux/issues/4#issuecomment-730425479 , or unsubscribe https://github.com/notifications/unsubscribe- auth/AAJVCUPHZXBTXRCPXWLVNCLSQUWETANCNFSM4T3N5HTA . https://github.com/notifications/beacon/AAJVCUPVZKZQY37WZFVU7XTSQUWETA5CNF SM4T3N5HTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFOEWR BY.gif

oliviertilmans commented 3 years ago

The testing-build tag will always have *.debs for the linux-image, linux-headers, linux-libc, and iproute2.

I could access these anonymously from: https://github.com/L4STeam/linux/releases/download/testing-build/l4s-testing.zip

Given that the tag will always float with HEAD, you can find the underlying commit from this tree in the kernel version tag; i.e., downloading this zip on two different days might give two different zips...

larseggert commented 3 years ago

Thanks, that works for me!

larseggert commented 3 years ago

Which distro and version should this kernel work with? I tried both Ubuntu bionic and groovy, and both hang during boot.

larseggert commented 3 years ago

Specifically, bionic gets stuck during systemd initialization, and groovy can't find the root file system.

larseggert commented 3 years ago

I think the problem is that your CI build is doing make defconfig. You should probably use a config such as https://kernel.ubuntu.com/~kernel-ppa/config/groovy/linux/5.4.0-26.30/amd64-config.flavour.generic to make a kernel available that can boot a distro.

oliviertilmans commented 3 years ago

@larseggert I updated the action to use a base ubuntu kernel; hopefully this will solve your issues. My test machines seem to mostly use drivers part of defconfig...

larseggert commented 3 years ago

Thanks! I will test the new build tomorrow.

larseggert commented 3 years ago

This seems to work better, but there is still an issue. Although the kernel config you use has CONFIG_VBOXSF_FS=m, the vboxfs kernel module isn't installed under /lib/modules/.

larseggert commented 3 years ago

And I need vboxfs for https://github.com/larseggert/l4s-box (FYI)

oliviertilmans commented 3 years ago

It is actually surprising that this config knob is even present at all...

Vboxfs was introduced in 5.4-rc7 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/staging/vboxsf/Kconfig?id=df4028658f9dd7f82fd190e9db5bd82c05f94625 and nuked out in -rc8, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0e3f1ad80fc8cb0c517fd9a9afb22752b741fa76 and finally reintroduced in https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/fs/vboxsf/Kconfig?id=0fd169576648452725fa2949bf391d10883d3991 which is part of 5.6. For old reasons, this tree is forked from -rc3 this predates vboxsf.

Is ubuntu somehow patching this in? Looking at their 5.4.60 tree (from which we get our config), that does not seem to be the case... https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal/tree/fs?h=Ubuntu-5.4.0-60.67 (CONFIG_VBOXSF_FS should match a fs/vboxsf module).

One possible workaround would be to install virtualbox-guest-dkms in the box prior to updating the kernel.

-----Original Message----- From: Lars Eggert notifications@github.com Sent: Tuesday, January 12, 2021 2:12 PM To: L4STeam/linux linux@noreply.github.com Cc: Tilmans, Olivier (Nokia - BE/Antwerp) <olivier.tilmans@nokia-bell- labs.com>; Comment comment@noreply.github.com Subject: Re: [L4STeam/linux] Set up GitHub actions to build dpkg, etc. (#4)

This seems to work better, but there is still an issue. Although the kernel config you use has CONFIG_VBOXSF_FS=m, the vboxfs kernel module isn't installed under /lib/modules/.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/L4STeam/linux/issues/4#issuecomment-758645863 , or unsubscribe https://github.com/notifications/unsubscribe- auth/AAJVCUO7REWCOLSPAA5QDTLSZRDAPANCNFSM4T3N5HTA . https://github.com/notifications/beacon/AAJVCUPL4DHPV245QJIGED3SZRDAPA5CNF SM4T3N5HTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFU4AI ZY.gif

larseggert commented 3 years ago

One possible workaround would be to install virtualbox-guest-dkms in the box prior to updating the kernel.

Let me try that!

larseggert commented 3 years ago

I needed both virtualbox-guest-dkms and virtualbox-guest-utils, but that fixed it.