2

fakeroot debian/rules clean step fails due to a missing ubuntu/ directory when building the Ubuntu kernel team's upstream branch of Linus' v4.4-rc8 .

Is there another patch besides the three at http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc8-wily/ that are needed or additional steps to perform before the build instructions from https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel can be used?

I do not think these errors can be ignored because there is a fix from Tim Gardner "[Config] Fix bogus reconstruct script" that explicitly changes the debian.master/reconstruct script in the 0001-base-packaging.patch.

git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
cd mainline-crack/
git fetch --tags
git checkout -b v4.4-rc8 v4.4-rc8
curl --silent http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc8-wily/0001-base-packaging.patch | git am --signoff
curl --silent http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc8-wily/0002-debian-changelog.patch | git am --signoff
curl --silent http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc8-wily/0003-configs-based-on-Ubuntu-4.4.0-1.12.patch | git am --signoff
fakeroot debian/rules clean
for i in debian.master/d-i/kernel-versions.in debian.master/control.stub.in; do \
  new=`echo $i | sed 's/\.in$//'`;                  \
  cat $i | sed -e 's/PKGVER/4.4.0/g'                              \
        -e 's/ABINUM/040400rc8/g'                                       \
    -e 's/SRCPKGNAME/linux/g'                             \
    -e 's/=HUMAN=/64 bit x86/g'                                    \
  > $new;                               \
done
...
# Install the copyright information.
cp debian.master/copyright debian/copyright
# If we have a reconstruct script use it.
[ -f debian.master/reconstruct ] && bash -x debian.master/reconstruct
+ '[' '!' -L ubuntu/vbox/vboxguest/include ']'
+ ln -sf ../include ubuntu/vbox/vboxguest/include
ln: failed to create symbolic link 'ubuntu/vbox/vboxguest/include': No such file or directory
+ '[' '!' -L ubuntu/vbox/vboxguest/r0drv ']'
+ ln -sf ../r0drv ubuntu/vbox/vboxguest/r0drv
ln: failed to create symbolic link 'ubuntu/vbox/vboxguest/r0drv': No such file or directory
+ '[' '!' -L ubuntu/vbox/vboxsf/include ']'
+ ln -sf ../include ubuntu/vbox/vboxsf/include
ln: failed to create symbolic link 'ubuntu/vbox/vboxsf/include': No such file or directory
+ '[' '!' -L ubuntu/vbox/vboxsf/r0drv ']'
+ ln -sf ../r0drv ubuntu/vbox/vboxsf/r0drv
ln: failed to create symbolic link 'ubuntu/vbox/vboxsf/r0drv': No such file or directory
+ '[' '!' -L ubuntu/vbox/vboxvideo/include ']'
+ ln -sf ../include ubuntu/vbox/vboxvideo/include
ln: failed to create symbolic link 'ubuntu/vbox/vboxvideo/include': No such file or directory
+ '[' '!' -L spl/rpm/redhat/spl-dkms.spec.in ']'
+ cd spl/rpm/redhat
debian.master/reconstruct: line 9: cd: spl/rpm/redhat: No such file or directory
+ ln -sf ../generic/spl-dkms.spec.in
+ '[' '!' -L spl/rpm/redhat/spl.spec.in ']'
+ cd spl/rpm/redhat
debian.master/reconstruct: line 10: cd: spl/rpm/redhat: No such file or directory
+ ln -sf ../generic/spl.spec.in
+ '[' '!' -L zfs/rpm/redhat/zfs-dkms.spec.in ']'
+ cd zfs/rpm/redhat
debian.master/reconstruct: line 12: cd: zfs/rpm/redhat: No such file or directory
+ ln -sf ../generic/zfs-dkms.spec.in
+ '[' '!' -L zfs/rpm/redhat/zfs.spec.in ']'
+ cd zfs/rpm/redhat
debian.master/reconstruct: line 13: cd: zfs/rpm/redhat: No such file or directory
+ ln -sf ../generic/zfs.spec.in
+ '[' '!' -L zfs/cmd/zed/zed.d/checksum-notify.sh ']'
+ cd zfs/cmd/zed/zed.d
debian.master/reconstruct: line 14: cd: zfs/cmd/zed/zed.d: No such file or directory
+ ln -sf io-notify.sh checksum-notify.sh
+ '[' '!' -L zfs/cmd/zed/zed.d/checksum-spare.sh ']'
+ cd zfs/cmd/zed/zed.d
debian.master/reconstruct: line 15: cd: zfs/cmd/zed/zed.d: No such file or directory
+ ln -sf io-spare.sh checksum-spare.sh
+ '[' '!' -L zfs/cmd/zed/zed.d/data-notify.sh ']'
+ cd zfs/cmd/zed/zed.d
debian.master/reconstruct: line 16: cd: zfs/cmd/zed/zed.d: No such file or directory
+ ln -sf io-notify.sh data-notify.sh
+ '[' '!' -L zfs/cmd/zed/zed.d/resilver.finish-notify.sh ']'
+ cd zfs/cmd/zed/zed.d
debian.master/reconstruct: line 17: cd: zfs/cmd/zed/zed.d: No such file or directory
+ ln -sf scrub.finish-notify.sh resilver.finish-notify.sh
+ '[' '!' -L zfs/scripts/zpios-test/large-thread-survey.sh ']'
+ cd zfs/scripts/zpios-test
debian.master/reconstruct: line 18: cd: zfs/scripts/zpios-test: No such file or directory
+ ln -sf 1x256th-65536rc-4rs-1cs-4off.sh large-thread-survey.sh
+ '[' '!' -L zfs/scripts/zpios-test/large.sh ']'
+ cd zfs/scripts/zpios-test
debian.master/reconstruct: line 19: cd: zfs/scripts/zpios-test: No such file or directory
+ ln -sf 256th-65536rc-4rs-1cs-4off.sh large.sh
+ '[' '!' -L zfs/scripts/zpios-test/medium.sh ']'
+ cd zfs/scripts/zpios-test
debian.master/reconstruct: line 20: cd: zfs/scripts/zpios-test: No such file or directory
+ ln -sf 16th-8192rc-4rs-1cs-4off.sh medium.sh
+ '[' '!' -L zfs/scripts/zpios-test/small.sh ']'
+ cd zfs/scripts/zpios-test
debian.master/reconstruct: line 21: cd: zfs/scripts/zpios-test: No such file or directory
+ ln -sf 4th-1024rc-4rs-1cs-4off.sh small.sh
+ '[' '!' -L zfs/scripts/zpios-test/tiny.sh ']'
+ cd zfs/scripts/zpios-test
debian.master/reconstruct: line 22: cd: zfs/scripts/zpios-test: No such file or directory
+ ln -sf 1th-16rc-4rs-1cs-4off.sh tiny.sh
+ exit 0

If I skip the clean step and attempt to build using fakeroot debian/rules binary-headers binary-generic it will fail when trying to build SPL/ZFS.

$ fakeroot debian/rules binary-headers binary-generic
...
  IHEX    firmware/cpia2/stv0672_vp4.bin
  IHEX    firmware/yam/1200.bin
  IHEX    firmware/yam/9600.bin
make[2]: Leaving directory `/home/user/Workspace/mainline-crack/debian/build/build-generic'
make[1]: Leaving directory `/home/user/Workspace/mainline-crack'
#
# SPL/ZFS wants a fully built kernel before you can configure and build.
# It seems to be impossible to tease out the application configuration
# from the modules, but at least one can build just the modules.
#
install -d /home/lucasmagasweran/Workspace/mainline-crack/debian/build/build-generic/spl
rsync -a --exclude=dkms.conf --delete spl/ /home/user/Workspace/mainline-crack/debian/build/build-generic/spl/
rsync: change_dir "/home/user/Workspace/mainline-crack//spl" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
make: *** [/home/user/Workspace/mainline-crack/debian/stamps/stamp-build-generic] Error 23

However, this can be worked around by commenting out the line do_zfs = true from debian.master/rules.d/amd64.mk or sed -i "s/do_zfs),false/do_zfs),true/g" debian/rules.d/2-binary-arch.mk [1].

[1] http://ubuntuforums.org/showthread.php?t=2301071&page=16&p=13411241#post13411241

  • 1
    I compile the kernel a different way. You could try my method. And I think, but am not sure, you could still use the git repository you are already setup with. – Doug Smythies Feb 4 '16 at 17:15
  • Thanks @DougSmythies for the suggestion. I can build if I just skip the clean step and comment out the do_zfs step. These workarounds are what I'm trying to understand how to resolve properly. – Lucas Feb 4 '16 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.