poudriere

i tried running poudriere bulk on a custom kernel 14.3-STABLE. each time, i get this error messages.

doas poudriere bulk -j 14amd64 -p default net/rsync
kldload: an error occurred while loading module linux. Please check dmesg(8) for more details.
[00:00:00] Error: /usr/local/share/poudriere/bulk.sh:jail_start:166:Required kernel module 'linux' not found
error
link_elf_obj: symbol elf32_register_note undefined
linker_load_file: /boot/kernel/linux.ko - unsupported file type

is it a bug or due to my custom kernel?
 
Custom kernel problem. By default the kernel includes the linux.ko module which provides support for that file type.
Thank you. i have tried recompiling many times with and without the nooptions to no avail. may i know what the options are for the linux.ko module. AFAIK, i only remove xen and kdbtrace plus unneeded options.
 
I don't think its a custom kernel problem. The problem is you do not have "linux_enable" set in /etc/rc.conf.
Run kldstat and look for linux.ko and if not found load it with kldload linux. See what happens.
The linux layer does weird things.
 
I don't think its a custom kernel problem. The problem is you do not have "linux enabled" by default.
Run kldstat and look for linux.ko and if not found load it with kldload linux. See what happens.
Thank you. i have tried to load linux linux64 n then do a poudriere build before. i even added them in /etc/rc.conf kld_list. same issues n same error.
 
Thank you. i have tried to load linux linux64 n then do a poudriere build before. i even added them in /etc/rc.conf kld_list. same issues n same error.
Well, when in doubt I'd try to rule out possible causes. Do you have a bare GENERIC kernel available? If not you can simply grab kernel.txz from download.freebsd.org and try booting the system with that to see if this behavior changes.
 
Well, when in doubt I'd try to rule out possible causes. Do you have a bare GENERIC kernel available? If not you can simply grab kernel.txz from download.freebsd.org and try booting the system with that to see if this behavior changes.
Thank you. i will do that. but, how do u do it? where do u put the kernel to boot if from? i have never done it before. Thank you again.
 
Maybe even /boot/kernel.old/kernel lurking that you could try booting.
Unfortunately it gets overwritten every make installkernel so it helps to name the backed up kernel something useful..
You can use loader prompt to boot old kernels.
 
Maybe even /boot/kernel.old/kernel lurking that you could try booting.
Unfortunately it gets overwritten every make installkernel so it helps to name the backed up kernel something useful..
You can use loader prompt to boot old kernels.
Thankx. i have already downloaded kernel.txz. where do i put it so i could boot from it?
 
Bit late to this, but here's what I'd do:
  1. Create a new directory: /boot/kernel.bck, then extract kernel.txz in there.
  2. Edit /boot/loader.conf, then add this: kernels="kernel kernel.old kernel.bck".
  3. Reboot, and select your 'new' kernel.
I always keep such a 'backup' kernel available in case of emergencies (like replaced hardware) or weird problems.
 
Bit late to this, but here's what I'd do:
  1. Create a new directory: /boot/kernel.bck, then extract kernel.txz in there.
  2. Edit /boot/loader.conf, then add this: kernels="kernel kernel.old kernel.bck".
  3. Reboot, and select your 'new' kernel.
I always keep such a 'backup' kernel available in case of emergencies (like replaced hardware) or weird problems.
Thank you very muck. i will do that. Thank you for sharing this info. its very helpful n knowledgeable to me. Thankx again both of u
 
I always keep such a 'backup' kernel available in case of emergencies (like replaced hardware) or weird problems.

I was not able to boot from the kernel.bck, tho i followed the instructions. i rebuild the GENERIC kernel. After the procedure were completed, i did a poudriere bulk n was successful. i rebuild the custom kernel, was able to do poudriere bulk again.
why wasn't i able to do so in the first place. The kernel_conf is the same.
 
linux(4) isn't in GENERIC, never was. It's been a module for as long as I can remember. Poudriere uses a jail(8) to build, jails don't have a kernel and cannot load kernel modules. You need to load the Linux kernel modules on the host to be able to build packages with poudriere that require the Linux compatibility.

Don't need the entire Linux compatibility (emulators/linux_base-c7), just the kernel modules. So sysrc kld_list+="linux64" on the host.

There's also a poudriere.conf setting:
Code:
# Disable Linux support
# NOLINUX=yes
 
linux(4) isn't in GENERIC, never was. It's been a module for as long as I can remember. Poudriere uses a jail(8) to build, jails don't have a kernel and cannot load kernel modules. You need to load the Linux kernel modules on the host to be able to build packages with poudriere that require the Linux compatibility.

Don't need the entire Linux compatibility (emulators/linux_base-c7), just the kernel modules. So sysrc kld_list+="linux64" on the host.

There's also a poudriere.conf setting:
Code:
# Disable Linux support
# NOLINUX=yes
Thankx. never knew that linux(4) isn't in GENERIC. i think i did sysrc kld_list+="linux64". however, didn't seem to work.

# Disable Linux support
# NOLINUX=yes

what are the benefits of those? Thankx.will i still be able to run a linux jail?
 
Back
Top