Hello,
Still learning the ins and outs of FreeBSD, so please keep that in mind. I'm happy to read whatever manual that might help with this, but my searches have not turned up anything that is helpful.
I have a server at home running FreeBSD 12.1-RELEASE-p3 GENERIC amd64. It is mainly just ZFS storage at the moment.
I wanted to use an external USB LG Blu-ray player (model BE14NU40). I was interested in using multimedia/makemkv. Based on the port requirements, in order to have it recognized by FreeBSD I need to build a custom kernel with the
in a custom kernel:
I followed the steps laid out at https://www.freebsd.org/doc/handbook/kernelconfig-building.html. I created a duplicate kernel file and edited that to add device sg at the end.
When I attempt to build the kernel it fails with the following error:
I removed the
My source is up-to-date:
Here's the output of
Even running
Here's the error when running
I am at a complete loss because I'm not changing anything. At this point, I am just trying to build the kernel unchanged. And as I research where to look, I feel like I am running in to dead ends. If you can offer any guidance, that would be great. Thank you.
Still learning the ins and outs of FreeBSD, so please keep that in mind. I'm happy to read whatever manual that might help with this, but my searches have not turned up anything that is helpful.
I have a server at home running FreeBSD 12.1-RELEASE-p3 GENERIC amd64. It is mainly just ZFS storage at the moment.
I wanted to use an external USB LG Blu-ray player (model BE14NU40). I was interested in using multimedia/makemkv. Based on the port requirements, in order to have it recognized by FreeBSD I need to build a custom kernel with the
Code:
device sg
A custom FreeBSD kernel with sg devices (Linux' "scsi generic" interface) is required to use makemkvcon. To build such a kernel, add "device sg" to your kernel configuration
I followed the steps laid out at https://www.freebsd.org/doc/handbook/kernelconfig-building.html. I created a duplicate kernel file and edited that to add device sg at the end.
Code:
cd /usr/src/sys/amd64/conf
cp GENERIC MYKERNEL
cd /usr/src
make buildkernel KERNCONF=MYKERNEL
When I attempt to build the kernel it fails with the following error:
Code:
cc -target x86_64-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/amd64.amd64/tmp -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -c -O3 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -DKLD_TIED -DHAVE_KERNEL_OPTION_HEADERS -include /usr/obj/usr/src/amd64.amd64/sys/MYKERNEL/opt_global.h -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include -fdebug-prefix-map=./x86=/usr/src/sys/x86/include -I/usr/obj/usr/src/amd64.amd64/sys/MYKERNEL -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-address-of-packed-member -mno-aes -mno-avx -std=iso9899:1999 -Werror -mmmx -msse -msse4 -maes -mpclmul /usr/src/sys/crypto/aesni/aesni_ccm.c
ctfconvert -L VERSION -g aesni_ccm.o
make[4]: don't know how to make immintrin.h. Stop
make[4]: stopped in /usr/src/sys/modules/aesni
*** Error code 2
Stop.
make[3]: stopped in /usr/src/sys/modules
*** Error code 1
Stop.
make[2]: stopped in /usr/obj/usr/src/amd64.amd64/sys/MYKERNEL
*** Error code 1
Stop.
make[1]: stopped in /usr/src
*** Error code 1
Stop.
make: stopped in /usr/src
I removed the
device sg
addition from the kernel file just to make sure that it wasn't that. And I get the same error.My source is up-to-date:
Code:
root@daedalus:/usr/src # svn info /usr/src
Path: .
Working Copy Root Path: /usr/src
URL: https://svn.freebsd.org/base/releng/12.1
Relative URL: ^/releng/12.1
Repository Root: https://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 360360
Node Kind: directory
Schedule: normal
Last Changed Author: gordon
Last Changed Rev: 360151
Last Changed Date: 2020-04-21 10:54:08 -0500 (Tue, 21 Apr 2020)
Here's the output of
head -15 /usr/src/Makefile
:
Code:
root@daedalus:/usr/src # head -15 /usr/src/Makefile
#
# $FreeBSD: releng/12.1/Makefile 348458 2019-05-31 15:05:54Z markj $
#
# The user-driven targets are:
#
# universe - *Really* build *everything* (buildworld and
# all kernels on all architectures). Define the
# MAKE_JUST_KERNELS variable to only build kernels.
# tinderbox - Same as universe, but presents a list of failed build
# targets and exits with an error if there were any.
# buildworld - Rebuild *everything*, including glue to help do
# upgrades.
# installworld - Install everything built by "buildworld".
# world - buildworld + installworld, no kernel.
# buildkernel - Rebuild the kernel and the kernel-modules.
Even running
make clean
under /usr/src generates an error:
Code:
===> lib/libc (clean)
===> lib/libc/tests (clean)
===> lib/libc/tests/tls_dso (clean)
make[5]: "/usr/src/share/mk/netbsd-tests.test.mk" line 9: "Please define TESTSRC to the absolute path of the test sources, e.g. ${SRCTOP}/contrib/netbsd-tests/lib/libc/stdio"
*** Error code 1
Stop.
make[4]: stopped in /usr/src/lib/libc/tests
*** Error code 1
Stop.
make[3]: stopped in /usr/src/lib/libc
*** Error code 1
Stop.
make[2]: stopped in /usr/src/lib
*** Error code 1
Stop.
make[1]: stopped in /usr/src
*** Error code 1
Stop.
make: stopped in /usr/src
Here's the error when running
make buildworld
in /usr/src:
Code:
sh /usr/src/tools/install.sh -C -o root -g wheel -m 444 libnv.a /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/lib/
===> usr.bin/lex/lib (obj,includes,all,install)
[Creating objdir /usr/obj/usr/src/amd64.amd64/tmp/obj-tools/usr.bin/lex/lib...]
make[3]: don't know how to make libmain.c. Stop
make[3]: stopped in /usr/src/usr.bin/lex/lib
*** Error code 2
Stop.
make[2]: stopped in /usr/src
*** Error code 1
Stop.
make[1]: stopped in /usr/src
*** Error code 1
Stop.
make: stopped in /usr/src
I am at a complete loss because I'm not changing anything. At this point, I am just trying to build the kernel unchanged. And as I research where to look, I feel like I am running in to dead ends. If you can offer any guidance, that would be great. Thank you.
Last edited by a moderator: