Trying to compile a custom kernel to get ALTQ with PF.
My kernel.conf:
Is the source updated when security patches are applied?
I haven't built a custom kernel in ages, so not sure what's up.
It's complaining about inconsistencies between code and the headers, which seems to be true:
Do I need to update something?
My kernel.conf:
Code:
include GENERIC
ident MYKERNEL
options ALTQ # PF quality of service queues
options ALTQ_CBQ # Class Based Queueing
options ALTQ_PRIQ # Priority Queueing
options ALTQ_HFSC # Hierarchial Packet Scheduler
Is the source updated when security patches are applied?
Code:
# uname -a
FreeBSD xxx 13.4-RELEASE-p3 FreeBSD 13.4-RELEASE-p3 GENERIC amd64
I haven't built a custom kernel in ages, so not sure what's up.
It's complaining about inconsistencies between code and the headers, which seems to be true:
Do I need to update something?
Code:
/usr/src/sys/amd64/amd64/efirt.c:108:1: error: static declaration of 'efi_destroy_1t1_map' follows non-static declaration
108 | efi_destroy_1t1_map(void)
| ^
/usr/src/sys/sys/efi.h:179:6: note: previous declaration is here
179 | void efi_destroy_1t1_map(void);
| ^
/usr/src/sys/amd64/amd64/efirt.c:115:7: error: no member named 'wire_count' in 'struct vm_page'; did you mean 'ref_count'?
115 | m->wire_count = 0;
| ^~~~~~~~~~
| ref_count
/usr/src/sys/vm/vm_page.h:243:8: note: 'ref_count' declared here
243 | u_int ref_count; /* page references (A) */
| ^
/usr/src/sys/amd64/amd64/efirt.c:116:24: error: use of undeclared identifier 'vm_cnt'
116 | atomic_subtract_int(&vm_cnt.v_wire_count,
| ^
/usr/src/sys/amd64/amd64/efirt.c:187:1: error: static declaration of 'efi_create_1t1_map' follows non-static declaration
187 | efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz)
| ^
/usr/src/sys/sys/efi.h:178:6: note: previous declaration is here
178 | bool efi_create_1t1_map(struct efi_md *, int, int);
| ^
/usr/src/sys/amd64/amd64/efirt.c:300:8: error: assigning to 'int' from incompatible type 'void'
300 | error = fpu_kern_enter(curthread, NULL, FPU_KERN_NOCTX);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/sys/amd64/amd64/efirt.c:433:19: error: invalid operands to binary expression ('void *' and 'unsigned long')
433 | *ptr = (void *)PHYS_TO_DMAP(ct->ct_data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
./machine/vmparam.h:250:6: note: expanded from macro 'PHYS_TO_DMAP'
250 | (x) | DMAP_MIN_ADDRESS; })
| ~~~ ^ ~~~~~~~~~~~~~~~~
/usr/src/sys/amd64/amd64/efirt.c:442:1: error: no previous prototype for function 'efi_get_time_locked' [-Werror,-Wmissing-prototypes]
442 | efi_get_time_locked(struct efi_tm *tm)
| ^
/usr/src/sys/amd64/amd64/efirt.c:441:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
441 | int
| ^
| static
/usr/src/sys/amd64/amd64/efirt.c:464:12: error: use of undeclared identifier 'resettodr_lock'
464 | mtx_lock(&resettodr_lock);
| ^
/usr/src/sys/amd64/amd64/efirt.c:464:12: error: use of undeclared identifier 'resettodr_lock'
/usr/src/sys/amd64/amd64/efirt.c:466:14: error: use of undeclared identifier 'resettodr_lock'
466 | mtx_unlock(&resettodr_lock);
| ^
/usr/src/sys/amd64/amd64/efirt.c:466:14: error: use of undeclared identifier 'resettodr_lock'
/usr/src/sys/amd64/amd64/efirt.c:471:1: error: conflicting types for 'efi_reset_system'
471 | efi_reset_system(void)
| ^
/usr/src/sys/sys/efi.h:186:5: note: previous declaration is here
186 | int efi_reset_system(enum efi_reset type);
| ^
/usr/src/sys/amd64/amd64/efirt.c:484:1: error: no previous prototype for function 'efi_set_time_locked' [-Werror,-Wmissing-prototypes]
484 | efi_set_time_locked(struct efi_tm *tm)
| ^
/usr/src/sys/amd64/amd64/efirt.c:483:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
483 | int
| ^
| static
/usr/src/sys/amd64/amd64/efirt.c:506:12: error: use of undeclared identifier 'resettodr_lock'
506 | mtx_lock(&resettodr_lock);
| ^
/usr/src/sys/amd64/amd64/efirt.c:506:12: error: use of undeclared identifier 'resettodr_lock'
/usr/src/sys/amd64/amd64/efirt.c:508:14: error: use of undeclared identifier 'resettodr_lock'
508 | mtx_unlock(&resettodr_lock);
| ^
/usr/src/sys/amd64/amd64/efirt.c:508:14: error: use of undeclared identifier 'resettodr_lock'
17 errors generated.
*** Error code 1
Stop.
make[4]: stopped in /usr/src/sys/modules/efirt
*** Error code 1