If I try to boot from an ISO file rather than from a USB stick, the process stops at the mountroot prompt because of the contents of /etc/fstab which contains:
Code:/dev/iso9660/PFSENSE / cd9660 ro 0 0
The ISO file is mounted on md() so I am able to change it, but what should I change it to?
Normally not supported here./dev/iso9660/PFSENSE / cd9660 ro 0 0
cat /<mount point md iso file>/boot/loader.conf
cat /<mount point md iso file>/boot/defaults/loader.conf
... cd9660 is always a readonly filesystem. Mounting a .iso with mdconfig doesn't change that.
I tried to do that to change one file's extension from .txz to .pkg on the 12.3 dvd1.iso. Even specifying -o rw failed.
I know, but this isn't really about pfsense as such, its about the principle of changing the contents of an ISO image file to be able to boot from it.Normally not supported here.
There should be a error message "Trying to mount root from ..." before the mountroot prompt. What does it exactly say? Copy & paste text or take a picture please.
Root mount waiting for: CAM
ada0 at ahcich0 bus 0 scbus2 target 0 lun 0
ada0: <Hitachi HTS545050KTA300 BKFOC60M> ATA8-ACS SATA 2.x device
ada0: Serial Number 080830BK0F00VEG9JXTB
ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 476940MB (976773168 512 byte sectors)
mountroot: waiting for device /dev/iso9660/PFSENSE...
Mounting from cd9660:/dev/iso9660/PFSENSE failed with error 19.
Loader variables:
vfs.root.mountfrom=cd9660:/dev/iso9660/PFSENSE
vfs.root.mountfrom.options=ro
Manual root filesystem specification:
<fstype>:<device> [options]
Mount <device> using filesystem <fstype>
and with the specified (optional) option list.
eg. ufs:/dev/da0s1a
zfs:zroot/ROOT/default
cd9660:/dev/cd0 ro
(which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)
? List valid disk boot devices
. Yield 1 second (for background tasks)
<empty line> Abort manual input
mountroot> Trying to mount root from ufs:/dev/ada0p6 []...
KLD i915kms.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/modules/i915kms.ko - unsupported file type
KLD acpi_dock.ko: depends on kernel - not available or version mismatch
Also:
cat /<mount point md iso file>/boot/loader.conf
autoboot_delay="3"
opensolaris_load="YES"
zfs_load="YES"
hw.hn.use_if_start="1"
hw.hn.vf_transparent="0"
kern.cam.boot_delay=10000
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
kern.ipc.nmbclusters="1000000"
kern.ipc.nmbjumbo9="524288"
kern.ipc.nmbjumbop="524288"
boot_serial="NO"
cat /<mount point md iso file>/boot/defaults/loader.conf
I've strippped off the lines beginning with '#'
exec="echo Loading /boot/defaults/loader.conf"
kernel="kernel" # /boot sub-directory containing kernel and modules
bootfile="kernel" # Kernel name (possibly absolute path)
kernel_options="" # Flags to be passed to the kernel
loader_conf_files="/boot/device.hints /boot/loader.conf /boot/loader.conf.local"
loader_conf_dirs="/boot/loader.conf.d"
nextboot_conf="/boot/nextboot.conf"
verbose_loading="NO" # Set to YES for verbose loader output
splash_bmp_load="NO" # Set this to YES for bmp splash screen!
splash_pcx_load="NO" # Set this to YES for pcx splash screen!
splash_txt_load="NO" # Set this to YES for TheDraw splash screen!
vesa_load="NO" # Set this to YES to load the vesa module
bitmap_load="NO" # Set this to YES if you want splash screen!
bitmap_name="splash.bmp" # Set this to the name of the file
bitmap_type="splash_image_data" # and place it on the module_path
screensave_load="NO" # Set to YES to load a screensaver module
screensave_name="green_saver" # Set to the name of the screensaver module
hostuuid_load="YES"
hostuuid_name="/etc/hostid"
hostuuid_type="hostuuid"
entropy_cache_load="YES" # Set this to NO to disable loading
# cached entropy at boot time
entropy_cache_name="/boot/entropy" # Set this to the name of the file
entropy_cache_type="boot_entropy_cache" # Required for the kernel to find
# the boot-time entropy cache. This
# must not change value even if the
# _name above does change!
entropy_efi_seed="YES" # Set this to NO to disable loading
# entropy from the UEFI hardware random number generator API
ram_blacklist_load="NO" # Set this to YES to load a file
# containing a list of addresses to
# exclude from the running system.
ram_blacklist_name="/boot/blacklist.txt" # Set this to the name of the file
ram_blacklist_type="ram_blacklist" # Required for the kernel to find
# the blacklist module
cpu_microcode_load="NO" # Set this to YES to load and apply a
# microcode update file during boot.
cpu_microcode_name="/boot/firmware/ucode.bin" # Set this to the microcode
# update file path.
cpu_microcode_type="cpu_microcode" # Required for the kernel to find
# the microcode update file.
acpi_dsdt_load="NO" # DSDT Overriding
acpi_dsdt_type="acpi_dsdt" # Don't change this
acpi_dsdt_name="/boot/acpi_dsdt.aml"
# Override DSDT in BIOS by this file
acpi_video_load="NO" # Load the ACPI video extension driver
audit_event_load="NO" # Preload audit_event config
audit_event_name="/etc/security/audit_event"
audit_event_type="etc_security_audit_event"
# Default is unset and disabled (no delay).
# -1 for no user interrupts, NO to disable
bootenv_autolist="YES" # Auto populate the list of ZFS Boot Environments
efi_max_resolution="1x1" # Set the max resolution for EFI loader to use:
# 480p, 720p, 1080p, 2160p/4k, 5k, or specify
# WidthxHeight (e.g. 1920x1080)
kernels_autodetect="YES" # Auto-detect kernel directories in /boot
module_path="/boot/modules;/boot/dtb;/boot/dtb/overlays" # Set the module search path
module_blacklist="drm drm2 radeonkms i915kms amdgpu" # Loader module blacklist
# If the TFTP server does not support RFC 2348,
# the block size is set to 512. Valid: (8,9007)
# <16 speeds up the progress indicator.
# Sets the list of init candidates
# registration, useful for USB sticks as root
loader_color="NO"
loader_logo="pfSensebw"
loader_brand="pfSense"
hw.usb.no_pf="1"
net.isr.maxthreads="-1"
loader_menu_title="Welcome to pfSense"
net.pf.request_maxcount="400000"
Normally not supported here. [pfSense]
I don't think that the problem is based on the pfSense iso images content.I know, but this isn't really about pfsense as such, its about the principle of changing the contents of an ISO image file to be able to boot from it.
pfSense , supports UEFI , booting successfully.
pfSense-CE-2.4.5-RELEASE-amd64.iso - 738 MB
It's no problem to add/modify the content of a (FreeBSD) .iso file.
The file must be extracted first, after modifications made, rebuild with /usr/src/release/amd64/mkisoimages.sh script (FreeBSD source code installed requiered).
There is an example at the end of manual bsdinstall(8), section "BUILDING AUTOMATIC INSTALL MEDIA".