Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    [Solved] How do i apply a patch to embedded/nanobsd (read-only filesystem?)

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    3 Posts 2 Posters 2.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      neglas
      last edited by

      I am trying to set up pfSense on a Compact Flash card. I have applied this patch to a VMware virtual machine running 1.2.2, using this command:

      patch -p1 -d / < wildcards.patch

      It works as expected.

      Now I want to add the patch to an embedded version on a CF, but there seems to be a problem with writing permissions:

      [1.2.3-RELEASE] [root@pfSense.local]/root(1): fetch http://cvstrac.pfsense.com/attach_get/132/wildcards.patch
      fetch: wildcards.patch: open(): Read-only file system
      [1.2.3-RELEASE] [root@pfSense.local]/root(2): pwd
      /root
      [1.2.3-RELEASE] [root@pfSense.local]/root(3): cd /tmp/
      [1.2.3-RELEASE] [root@pfSense.local]/tmp(4): fetch http://cvstrac.pfsense.com/attach_get/132/wildcards.patch
      wildcards.patch                               100% of   12 kB   56 kBps
      [1.2.3-RELEASE] [root@pfSense.local]/tmp(5): patch -p1 -C -d / < wildcards.patch
      
      Hmm...  Looks like a unified diff to me...
      The text leading up to this was:
      --------------------------
      |diff -Nrub orig/etc/inc/services.inc patched/etc/inc/services.inc
      |--- orig/etc/inc/services.inc  2008-06-01 19:21:06.000000000 +0200
      |+++ patched/etc/inc/services.inc       2008-06-01 23:43:04.000000000 +0200
      --------------------------
      Patching file etc/inc/services.inc using Plan A...
      Hunk #1 succeeded at 626 (offset 1 line).
      Hmm...  The next patch looks like a unified diff to me...
      The text leading up to this was:
      --------------------------
      |diff -Nrub orig/etc/inc/xmlparse.inc patched/etc/inc/xmlparse.inc
      |--- orig/etc/inc/xmlparse.inc  2008-06-01 21:56:17.000000000 +0200
      |+++ patched/etc/inc/xmlparse.inc       2008-06-01 23:43:05.000000000 +0200
      --------------------------
      Patching file etc/inc/xmlparse.inc using Plan A...
      Hunk #1 succeeded at 32.
      Hmm...  The next patch looks like a unified diff to me...
      The text leading up to this was:
      --------------------------
      |diff -Nrub orig/usr/local/www/services_dnsmasq_domainwildcard_edit.php patched/
      usr/local/www/services_dnsmasq_domainwildcard_edit.php
      |--- orig/usr/local/www/services_dnsmasq_domainwildcard_edit.php        1970-01-01 01:00:00.000000000 +0100
      |+++ patched/usr/local/www/services_dnsmasq_domainwildcard_edit.php     2008-06-01 23:44:36.000000000 +0200
      --------------------------
      (Creating file usr/local/www/services_dnsmasq_domainwildcard_edit.php...)
      Patching file usr/local/www/services_dnsmasq_domainwildcard_edit.php using Plan
      A...
      Hunk #1 succeeded at 1.
      Hmm...  The next patch looks like a unified diff to me...
      The text leading up to this was:
      --------------------------
      |diff -Nrub orig/usr/local/www/services_dnsmasq.php patched/usr/local/www/services_dnsmasq.php
      |--- orig/usr/local/www/services_dnsmasq.php    2008-06-01 19:22:24.000000000 +0200
      |+++ patched/usr/local/www/services_dnsmasq.php 2008-06-01 23:44:24.000000000 +0200
      --------------------------
      Patching file usr/local/www/services_dnsmasq.php using Plan A...
      Hunk #1 succeeded at 41.
      Hunk #2 succeeded at 74 (offset 3 lines).
      Hunk #3 succeeded at 98 (offset 3 lines).
      Hunk #4 succeeded at 130 (offset 3 lines).
      Hunk #5 succeeded at 276 (offset 3 lines).
      done
      [1.2.3-RELEASE] [root@pfSense.local]/tmp(8): patch -p1 -d / < wildcards.patch
      Hmm...  Looks like a unified diff to me...
      The text leading up to this was:
      --------------------------
      |diff -Nrub orig/etc/inc/services.inc patched/etc/inc/services.inc
      |--- orig/etc/inc/services.inc  2008-06-01 19:21:06.000000000 +0200
      |+++ patched/etc/inc/services.inc       2008-06-01 23:43:04.000000000 +0200
      --------------------------
      Patching file etc/inc/services.inc using Plan A...
      Hunk #1 succeeded at 626 (offset 1 line).
      Can't backup etc/inc/services.inc, output is in /tmp//patchos5gfZ2: Read-only file system
      Hmm...  The next patch looks like a unified diff to me...
      The text leading up to this was:
      --------------------------
      |diff -Nrub orig/etc/inc/xmlparse.inc patched/etc/inc/xmlparse.inc
      |--- orig/etc/inc/xmlparse.inc  2008-06-01 21:56:17.000000000 +0200
      |+++ patched/etc/inc/xmlparse.inc       2008-06-01 23:43:05.000000000 +0200
      --------------------------
      Patching file etc/inc/xmlparse.inc using Plan A...
      Hunk #1 succeeded at 32.
      Can't backup etc/inc/xmlparse.inc, output is in /tmp//patchos5gfZ2: Read-only file system
      Hmm...  The next patch looks like a unified diff to me...
      The text leading up to this was:
      --------------------------
      |diff -Nrub orig/usr/local/www/services_dnsmasq_domainwildcard_edit.php patched/
      usr/local/www/services_dnsmasq_domainwildcard_edit.php
      |--- orig/usr/local/www/services_dnsmasq_domainwildcard_edit.php        1970-01-01 01:00:00.000000000 +0100
      |+++ patched/usr/local/www/services_dnsmasq_domainwildcard_edit.php     2008-06-01 23:44:36.000000000 +0200
      --------------------------
      (Creating file usr/local/www/services_dnsmasq_domainwildcard_edit.php...)
      patch: **** can't find usr/local/www/services_dnsmasq_domainwildcard_edit.php
      

      As you can see, I tried using /tmp instead of /root, but to no avail.

      Is there a way to make this patch work on nanobsd/embedded?

      Or is it maybe possible to patch the img file before writing it to the CF?

      1 Reply Last reply Reply Quote 0
      • E
        EddieA
        last edited by

        Start with the command:  /etc/rc.conf_mount_rw

        And end with:  /etc/rc.conf_mount_ro

        Cheers.

        1 Reply Last reply Reply Quote 0
        • N
          neglas
          last edited by

          Thanks, that helped.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.