RE: kernel build error during ubuntu linux kernel build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I found from https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel, the correct method to build ubuntu is (for ARCH=arm64 case)

 

  • LANG=C fakeroot debian/rules ARCH=arm64 clean
  • # quicker build:
  • LANG=C fakeroot debian/rules ARCH=arm64 binary-headers binary-generic binary-perarch
  • # if you need linux-tools or lowlatency kernel, run instead:
  • LANG=C fakeroot debian/rules ARCH=arm64 binary

 

But when I tried it, it went far longer but eventually it failed with error.

 

.

Creating symlink /home/ckim/prj1/QEMU/qemu_test/test_ubuntu-20.04-build/focal/ubuntu-focal/debian/build/builddkms/build/zfs/0.8.3/source ->

                 /home/ckim/prj1/QEMU/qemu_test/test_ubuntu-20.04-build/focal/ubuntu-focal/debian/build/builddkms/source/zfs-0.8.3

 

DKMS: add completed.

 

Running the pre_build script:

checking for gawk... gawk

checking metadata... META file

checking build system type... x86_64-pc-linux-gnu

checking host system type... x86_64-pc-linux-gnu

checking target system type... x86_64-pc-linux-gnu

checking whether to enable maintainer-specific portions of Makefiles... no

checking whether make supports nested variables... yes

checking for a BSD-compatible install... /bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

        …..

checking kernel source version... 5.4.0-42-generic

checking kernel file name for module symbols... Module.symvers

checking whether modules can be built... no

configure: error:

   *** Unable to build an empty module.

                         

 

Building module:

cleaning build area...(bad exit status: 2)

make -j28 KERNELRELEASE=5.4.0-42-generic...(bad exit status: 2)

ERROR (dkms apport): binary package for zfs: 0.8.3 not found

Error! Bad return status for module build on kernel: 5.4.0-42-generic (x86_64)

Consult /home/ckim/prj1/QEMU/qemu_test/test_ubuntu-20.04-build/focal/ubuntu-focal/debian/build/builddkms/build/zfs/0.8.3/build/make.log for more information.

DKMS make.log for zfs-0.8.3 for kernel 5.4.0-42-generic (x86_64)

Tue Jun 29 11:43:02 KST 2021

make[1]: Entering directory '<<DKMSDIR>>/build/zfs/0.8.3/build'

make[1]: *** No targets specified and no makefile found.  Stop.

make[1]: Leaving directory '<<DKMSDIR>>/build/zfs/0.8.3/build'

make: *** [debian/rules.d/2-binary-arch.mk:223: install-generic] Error 1

 

And according to the guide, Im supposed to see in ../ directory two linux headers .deb files and a linux-image .deb file but I see only linux-headers-5.4.0-42_5.4.0-42.46_all.deb

Can anyone give me an advice? Any suggestion will be appreciated.

Thank you!

Chan Kim

 

From: ckim@xxxxxxxxxx <ckim@xxxxxxxxxx>
Sent: Tuesday, June 29, 2021 10:04 AM
To: kernelnewbies@xxxxxxxxxxxxxxxxx
Subject: kernel build error during ubuntu linux kernel build

 

Hello, all

 

I have a strange problem in building the linux kernel from ubuntu. (I want to replace the kernel in ubuntu to debug install failure on qemu virtual machine)

I downloaded ubuntu source by git clone git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git. and because I wanted to use a specific version, I did git checkout Ubuntu-5.4.0-42.46 (this version is the one used in a ubuntu installation .iso. 

And you can see related askubuntu question here : https://askubuntu.com/questions/1347390/what-ubuntu-source-version-should-i-use-to-add-some-debug-prints-for-ubuntu-bo )

 

After git-checkout, the `git log` shows this result : 

 

    commit 98c4545e2d65ed35c31056f72c4da20f6b5ea0d0 (HEAD, tag: Ubuntu-5.4.0-42.46)

    Author: Khalid Elmously <khalid.elmously@xxxxxxxxxxxxx>

    Date:   Thu Jul 9 19:50:26 2020 -0400

   

        UBUNTU: Ubuntu-5.4.0-42.46

       

        Signed-off-by: Khalid Elmously <khalid.elmously@xxxxxxxxxxxxx>

 

To build the kernel, I did `ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- make defconfig` and `ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- make -j24 Image`.  But this gives me a compile error below.  What can be wrong? 

 

      .

      .

      CC      mm/interval_tree.o

      CC      drivers/base/regmap/regcache.o

      CC      kernel/time/posix-cpu-timers.o

      CC      mm/list_lru.o

      CC      block/blk-mq.o

      AS      arch/arm64/lib/memchr.o

      CC      fs/ext4/migrate.o

    security/security.c: In function 'security_add_hooks':

    security/security.c:477:25: error: 'struct security_hook_heads' has no member named 'socket_getpeersec_stream'

      477 |     &security_hook_heads.socket_getpeersec_stream)

          |                         ^

      CC      kernel/time/posix-clock.o

      AS      arch/arm64/lib/memcmp.o

    security/security.c: In function 'security_setprocattr':

      CC      arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-v2.o

    security/security.c:2058:27: error: 'union security_list_options' has no member named 'socket_getpeersec_stream'

     2058 |   socket_getpeersec_stream.socket_getpeersec_stream = NULL;

          |                           ^

    In file included from ./include/linux/timer.h:5,

                     from ./include/linux/workqueue.h:9,

                     from ./include/linux/bpf.h:9,

                     from security/security.c:13:

    security/security.c:2060:25: error: 'struct security_hook_heads' has no member named 'socket_getpeersec_stream'

     2060 |     &security_hook_heads.socket_getpeersec_stream,

          |                         ^

    ./include/linux/list.h:857:12: note: in definition of macro 'hlist_entry_safe'

     857 |  ({ typeof(ptr) ____ptr = (ptr); \

          |            ^~~

    security/security.c:2059:3: note: in expansion of macro 'hlist_for_each_entry'

     2059 |   hlist_for_each_entry(hp,

          |   ^~~~~~~~~~~~~~~~~~~~

    security/security.c:2060:25: error: 'struct security_hook_heads' has no member named 'socket_getpeersec_stream'

     2060 |     &security_hook_heads.socket_getpeersec_stream,

          |                         ^

    ./include/linux/list.h:857:28: note: in definition of macro 'hlist_entry_safe'

      857 |  ({ typeof(ptr) ____ptr = (ptr); \

          |                            ^~~

    security/security.c:2059:3: note: in expansion of macro 'hlist_for_each_entry'

     2059 |   hlist_for_each_entry(hp,

          |   ^~~~~~~~~~~~~~~~~~~~

    In file included from ./include/linux/list.h:9,

                     from ./include/linux/timer.h:5,

                     from ./include/linux/workqueue.h:9,

                     from ./include/linux/bpf.h:9,

                     from security/security.c:13:

    ./include/linux/kernel.h:993:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

      993 |  void *__mptr = (void *)(ptr);     \

          |                 ^

    ./include/linux/list.h:847:40: note: in expansion of macro 'container_of'

      847 | #define hlist_entry(ptr, type, member) container_of(ptr,type,member)

          |                                        ^~~~~~~~~~~~

      .

      .

 

BTW, when I do the same with linux-5.4.21 vanila source, it compiles ok.

Can anyone give me an advice? Could this Ubuntu-5.4.0-42.46 version have a bug and maybe I need a patch?

Thank you!

Chan Kim

 

 

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux