Comment 30 for bug 1895563

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Hi Brendan,

Thanks for testing! Glad that 5.0 and 5.8 works, so this is already fixed.

For now, I'd suggest bisecting with the already available/built kernel
packages from the launchpad archive, which should be faster;
then eventually get down to git to identify it more closely.

Since you know that 4.18.0-25 fails and 5.0.0-13 works, I'd suggest you
take the available built deb files from the Disco linux package archive,
which has some 4.18, 4.19, and 5.0 packages.

https://launchpad.net/ubuntu/disco/+source/linux
Click on the desired version number in 'Releases in Ubuntu' (duplicates are OK)
Click on 'amd64' in 'Builds'
Download the required .deb files (watch out for .ddeb and .udeb) in 'Built files'
Install them with 'sudo dpkg -i *.deb' as usual

And then you can iterate/bisect with the available builds,
which should help reduce the range of version tags to find
the fix in git.

As for building the kernel packages and the systemd failure,
I would suggest you to use the Ubuntu kernel build process
and configs instead of 'make deb-pkg' from upstream, which
doesn't consider Ubuntu's stuff/configs in the tree, and
might then give you some trouble.

Ah, and building the Disco packages on a Disco container,
so that build deps and release stuff are as expected.

Steps follow below. Hope this helps.

cheers,
Mauricio

...

# start a disco container

lxc launch ubuntu:19.04 disco
lxc shell disco

# fixup apt sources and install build dependencies

sed -i 's,http://.*.ubuntu.com,http://old-releases.ubuntu.com,' /etc/apt/sources.list
sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list
apt build-dep -y linux

# select source/tag you'll build

git clone ... # --reference ~/git/linux is handy/speedy if you have it already.
cd ubuntu-disco
git checkout Ubuntu-<version>

# I'd suggest manually bisecting with tags
# as a complete tag/package release is more
# likely to work; git bisect might land you
# in a commit that doesn't build/work well.

# always build using the ubuntu configs and
# stuff, w/ this procedure (reference below)

# build

LANG=C fakeroot debian/rules clean
LANG=C fakeroot debian/rules binary-headers binary-generic binary-perarch

# packages in ../*.deb
# you'll likely need linux-image-unsigned, linux-modules,
# possibly linux-modules-extra (storage/raid controllers mostly)
# and linux-headers (two pkgs) if you build modules/dkms/nvidia.

reference: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel