Feature #14728


Support for CD/DVD drives in the External Configuration Locator (ECL)

Added by Tanner H 6 months ago. Updated 3 months ago.

Backup / Restore
Target version:
Start date:
Due date:
% Done:


Estimated time:
Plus Target Version:
Release Notes:


In the Hyper-V environment, there's an observed behavior where pfSense does not appear to search for config.xml files for the External Configuration Locator (ECL) within CD/DVD drives. Given the limitation in Hyper-V where virtual USB drives cannot be mounted natively, adding support for reading from CD/DVD drives for ECL would provide a valuable solution to this challenge.

Steps to reproduce:
  1. Setup a pfSense instance on Hyper-V.
  2. Create an ISO with the required file structure (/config/config.xml).
  3. Mount this ISO using the virtual disc drive in Hyper-V.
  4. Boot the pfSense instance and observe that pfSense ignores the config.xml found within the CD/DVD drive, indicating that it doesn't search CD/DVD drives for ECL files.

Introducing this feature would empower Hyper-V users to utilize the External Configuration Locator via CD/DVD drives, offering an alternative solution to the USB limitation and enhancing the usability of pfSense in Hyper-V environments. Without this functionality, I am unable to deploy pfSense automatically at scale without modifying the original distribution ISO, which I would prefer to avoid.

Actions #1

Updated by Marcos M 4 months ago

  • Status changed from New to Feedback
  • Assignee set to Marcos M
  • Target version set to 2.8.0
  • Plus Target Version set to 24.03

Merged after minor touch-ups.

Applied in changeset 5506b679754b0f6d5ae4ad7307d31f2934151176.

Actions #2

Updated by Christopher Cope 3 months ago

  • Status changed from Feedback to In Progress

Tested on

24.03-DEVELOPMENT (amd64)
built on Thu Nov 30 13:34:00 UTC 2023

and this isn't working as expected. The code in find_config_xml() loops through the slices, but a standard ISO image with the config does not have slices, so it is ignored. A simple fix is to add a special case in the get_disk_slices function to return CD devices directly.

The code should also check for format type cd9660 instead of iso9660.

I should have a pull request together soon to address both of these issues.

Actions #4

Updated by Christopher Cope 3 months ago

  • Status changed from In Progress to Pull Request Review
Actions #5

Updated by Marcos M 3 months ago

  • Status changed from Pull Request Review to Feedback
Actions #6

Updated by Christopher Cope 3 months ago

  • % Done changed from 0 to 100

Also available in: Atom PDF