[PVE-User] Building pve-kernel fails

Fabian Grünbichler f.gruenbichler at proxmox.com
Mon Mar 2 08:24:02 CET 2020


On February 28, 2020 8:20 pm, Alarig Le Lay wrote:
> Hi,
> 
> I would like to test (and integrate) a patch to local kernels, but if I
> try to build it, it fails:
> 
> alarig at pikachu | master *%= pve-kernel % make
> test -f "submodules/ubuntu-eoan/README" || git submodule update --init submodules/ubuntu-eoan
> test -f "submodules/zfsonlinux/Makefile" || git submodule update --init --recursive submodules/zfsonlinux
> rm -rf build/modules/pkg-zfs build/modules/tmp pkg-zfs.prepared
> mkdir -p build/modules/tmp
> cp -a submodules/zfsonlinux/* build/modules/tmp
> cd build/modules/tmp; make kernel
> make[1]: Entering directory '/home/alarig/Documents/git/proxmox.com/pve-kernel/build/modules/tmp'
> make[1]: *** No rule to make target 'kernel'.  Stop.
> make[1]: Leaving directory '/home/alarig/Documents/git/proxmox.com/pve-kernel/build/modules/tmp'
> make: *** [Makefile:99: pkg-zfs.prepared] Error 2
> zsh: exit 2     make
> 
> build/modules/tmp doesn’t have any Makefile:
> alarig at pikachu | master *%= pve-kernel % ls -lh build/modules/tmp
> total 0
> drwxr-xr-x 1 alarig alarig 454 Feb 28 19:01 upstream
> 
> Neither do the `upstream` directory:
> alarig at pikachu | master *%= pve-kernel % ls -lh build/modules/tmp/upstream/
> total 100K
> -rw-r--r-- 1 alarig alarig  13K Feb 28 19:01 AUTHORS
> -rwxr-xr-x 1 alarig alarig   59 Feb 28 19:01 autogen.sh
> drwxr-xr-x 1 alarig alarig  278 Feb 28 19:01 cmd
> -rw-r--r-- 1 alarig alarig  154 Feb 28 19:01 CODE_OF_CONDUCT.md
> drwxr-xr-x 1 alarig alarig 6.1K Feb 28 19:01 config
> -rw-r--r-- 1 alarig alarig  15K Feb 28 19:01 configure.ac
> drwxr-xr-x 1 alarig alarig  102 Feb 28 19:01 contrib
> -rwxr-xr-x 1 alarig alarig 2.5K Feb 28 19:01 copy-builtin
> -rw-r--r-- 1 alarig alarig 1.3K Feb 28 19:01 COPYRIGHT
> drwxr-xr-x 1 alarig alarig  100 Feb 28 19:01 etc
> drwxr-xr-x 1 alarig alarig  444 Feb 28 19:01 include
> drwxr-xr-x 1 alarig alarig  222 Feb 28 19:01 lib
> -rw-r--r-- 1 alarig alarig  19K Feb 28 19:01 LICENSE
> -rw-r--r-- 1 alarig alarig 5.5K Feb 28 19:01 Makefile.am
> drwxr-xr-x 1 alarig alarig   46 Feb 28 19:01 man
> -rw-r--r-- 1 alarig alarig  208 Feb 28 19:01 META
> drwxr-xr-x 1 alarig alarig  112 Feb 28 19:01 module
> -rw-r--r-- 1 alarig alarig   97 Feb 28 19:01 NEWS
> -rw-r--r-- 1 alarig alarig 1.2K Feb 28 19:01 NOTICE
> -rw-r--r-- 1 alarig alarig 1.2K Feb 28 19:01 README.md
> drwxr-xr-x 1 alarig alarig   48 Feb 28 19:01 rpm
> drwxr-xr-x 1 alarig alarig  470 Feb 28 19:01 scripts
> -rw-r--r-- 1 alarig alarig 2.4K Feb 28 19:01 TEST
> drwxr-xr-x 1 alarig alarig   96 Feb 28 19:01 tests
> drwxr-xr-x 1 alarig alarig   36 Feb 28 19:01 udev
> -rw-r--r-- 1 alarig alarig   38 Feb 28 19:01 zfs.release.in
> 
> Also, I had to update URLs in the git config because the shipped ones
> are giving 404 (they don’t have the .git):
> alarig at pikachu | master *%= pve-kernel % cat .git/config
> [core]
> 	repositoryformatversion = 0
> 	filemode = true
> 	bare = false
> 	logallrefupdates = true
> [remote "origin"]
> 	url = https://git.proxmox.com/git/pve-kernel.git
> 	fetch = +refs/heads/*:refs/remotes/origin/*
> [branch "master"]
> 	remote = origin
> 	merge = refs/heads/master
> [submodule "submodules/ubuntu-eoan"]
> 	active = true
> 	url = https://git.proxmox.com/git/mirror_ubuntu-eoan-kernel.git
> [submodule "submodules/zfsonlinux"]
> 	active = true
> 	url = https://git.proxmox.com/git/zfsonlinux.git
> 
> Is there an updated Makefile for pve-kernel or is there anything to do
> before the make?

the problem is that the repositories are available under two different paths:

https://git.proxmox.com/git/XXX.git
git://git.proxmox.com/git/XXX

the submodules only contain a relative reference, and where written for 
the second variant. if you checkout via the first, they don't work. 
thankfully, git:// also supports git/XXX.git, so we can update the 
references to include the '.git' suffix.

to fix your local repository, you can either manually point the 
submodules to the right place (recursively), or start fresh and clone 
from 'git://git.proxmox.com/git/pve-kernel'.

we'll fix the .gitmodules file shipped in the repository soon, but all 
the already cloned copies will need to be updated manually.



More information about the pve-user mailing list