ERF42-9670 [Foreman::Exception]: Please ensure the isolinux/syslinux package(s) are installed

Problem:
Can not create new images

Expected outcome:
Create a new image

Foreman and Proxy versions:
Version 1.24.2

Foreman and Proxy plugin versions:
[foreman_bootdisk] Dominic Cleal 16.0.0

Distribution and version:
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.8.2003 (Core)
Release: 7.8.2003
Codename: Core

Other relevant data:

[root@puppetmaster]# foreman-rake bootdisk:generate:generic
rake aborted!
Foreman::Exception: ERF42-9670 [Foreman::Exception]: Please ensure the isolinux/syslinux package(s) are installed.
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_bootdisk-16.0.0/app/services/foreman_bootdisk/iso_generator.rb:62:in `block in generate'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_bootdisk-16.0.0/app/services/foreman_bootdisk/iso_generator.rb:57:in `generate'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_bootdisk-16.0.0/lib/tasks/bootdisk.rake:50:in `block (4 levels) in <top (required)>'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:108:in `as'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:114:in `as_anonymous_admin'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_bootdisk-16.0.0/lib/tasks/bootdisk.rake:47:in `block (3 levels) in <top (required)>'
/opt/rh/rh-ruby25/root/usr/share/gems/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => bootdisk:generate:generic
(See full trace by running task with --trace)



genisoimage.x86_64                     1.1.11-25.el7            @base
syslinux.x86_64                        4.05-15.el7              @base
syslinux-devel.x86_64                  4.05-15.el7              @base
syslinux-extlinux.x86_64               4.05-15.el7              @base
syslinux-perl.x86_64                   4.05-15.el7              @base
syslinux-tftpboot.noarch               4.05-15.el7              @base

Hello,

file named isolinux.bin cannot be found on path specified in the Administer - Settings - Bootdisk - Isolinux directory.

Hi,

you are right, it was showing to /usr/lib/ISOLINUX/ and this directory does not exist.
The correct path is /usr/share/syslinux/

Thank you :slight_smile:

It had to exist, during initialization we set it like this:

isolinux = ['/usr/lib/ISOLINUX'].find { |p| File.exist?(p) } || '/usr/share/syslinux'