LVM not properly working after update to IPFire 2.27 (x86_64) - core177

Restart didn’t do anything:

# lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 238.5G  0 disk 
├─sda1   8:1    0    64M  0 part /boot
├─sda2   8:2    0     1G  0 part [SWAP]
├─sda3   8:3    0   9.9G  0 part /
└─sda4   8:4    0 227.5G  0 part /var
sdb      8:16   0   3.6T  0 disk 
sdc      8:32   0   5.5T  0 disk 
sdd      8:48   0   3.6T  0 disk 
sde      8:64   0   3.6T  0 disk 
└─sde1   8:65   0   3.6T  0 part 
sdf      8:80   0  10.9T  0 disk 
└─sdf1   8:81   0  10.9T  0 part 
sr0     11:0    1 306.3M  0 rom
ls -hal /dev/mapper
total 0
drwxr-xr-x  2 root root      60 Aug  8 18:15 .
drwxr-xr-x 16 root root    3.8K Aug  8 18:15 ..
crw-------  1 root root 10, 236 Aug  8 18:15 control

Where is the Extra HD page? Have I found, Yes, there I see you all.
Do the drives all have to be included in the fstab?
I used to do this manually with the backup disks.

Somehow or other you have lost the lvm connection to those drives as all are now showing in lsblk as only the sdx drive. I don’t believe that is because of CU177. There was no change to lvm in CU177.

For drives sdb, sdc & sdd did you not create a partition and created the lvm format on the whole drive.

I suspect that you will only see the sdb, sdc, sdd, sde1 & sdf1 drives and not your dm-x volumegroup-logicalvolume naming otherwise that would be showing in the lsblk info.

If you mount them to your chosen mountpoint in the Extra HD page then they are automatically added to the fstab.

I would recommend to not mount them in IPFire while the lvm structure is not visible otherwise you likely won’t see any of the files that are stored on them.

You mentioned earlier in this thread that you had accessed the drives via a live system and could see the lvm drives. Did you also mount them and check that you could access and read some files on the drives?

Exactly that is my problem seoin that my cryptstup version is no longer compatible. The drives are only mapped after I have decrypted them.

cryptsetup: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

Could it be that something has changed?

cryptsetup version
cryptsetup: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
openssl version
OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023)

But that was already in core175, wasn’t it?

How was the instruction again if I want to build a package myself, can you give me a tip?

I think I am understanding what may have happened.

If I understand correctly, you have made a personal addon for encrypting your drives and decrypting them.

Openssl3.x was introduced in Core update 175.
https://blog.ipfire.org/post/ipfire-2-27-core-update-175-released

That release announcement mentions that openssl1.1.1x would be removed in Core Update 176 and any custom scripts (or addons) that use openssl1.1.1x would need to be updated to openssl3.x

In the end the openssl1.1.1x was not removed until Core Update 177.

Your addon is still linked to the openssl1.1.1x libraries from when it was originally built but those libraries are no longer present in Core Update 177. Therefore your drives are not decrypted and therefore you don’t see the lvm structure. The cryptsetup package needs to be built again in a build environment with openssl3.x so that the correct openssl libs are linked.

The wiki page covering how to build addons is
https://wiki.ipfire.org/devel/ipfire-2-x/addon-howto

Hope that helps.

1 Like

Yes, thank you for your help! Problem detected! =))

1 Like

I get this error when I want to build the build environment.
How can I fix this?

ERROR: Cannot build for architure 
    Aug  9 07:38:00: Building which which-2.21.tar.gz checksum OK
    which-2.21.tar.gz checksum OK
    Aug  9 07:38:00: Building whois whois-5.5.17.tar.gz checksum OK
    whois-5.5.17.tar.gz checksum OK
    Aug  9 07:38:00: Building wio Aug  9 07:38:00: Building wireless wireless_tools.30.pre9.tar.gz checksum OK
    wireless_tools.30.pre9.tar.gz checksum OK
    Aug  9 07:38:00: Building wireless-regdb wireless-regdb-master-2023-02-13.tar.gz checksum OK
    wireless-regdb-master-2023-02-13.tar.gz checksum OK
    Aug  9 07:38:00: Building wpa_supplicant wpa_supplicant-2.10.tar.gz checksum OK
    wpa_supplicant-2.10.tar.gz checksum OK
    Aug  9 07:38:00: Building xfsprogs xfsprogs-6.2.0.tar.xz checksum OK
    xfsprogs-6.2.0.tar.xz checksum OK
    Aug  9 07:38:00: Building xinetd xinetd-2.3.15.tar.gz checksum OK
    xinetd-2.3.15.tar.gz checksum OK
    Aug  9 07:38:00: Building xvid xvidcore-1.3.7.tar.gz checksum OK
    xvidcore-1.3.7.tar.gz checksum OK
    Aug  9 07:38:00: Building xz xz-5.4.1.tar.xz checksum OK
    xz-5.4.1.tar.xz checksum OK
    Aug  9 07:38:00: Building yaml yaml-0.2.5.tar.gz checksum OK
    yaml-0.2.5.tar.gz checksum OK
    Aug  9 07:38:00: Building zabbix_agentd zabbix-6.0.16.tar.gz checksum OK
    zabbix-6.0.16.tar.gz checksum OK
    Aug  9 07:38:00: Building zd1211-firmware zd1211-firmware-1.5.tar.bz2 checksum OK
    zd1211-firmware-1.5.tar.bz2 checksum OK
    Aug  9 07:38:00: Building zerofree zerofree-1.1.1.tgz checksum OK
    zerofree-1.1.1.tgz checksum OK
    Aug  9 07:38:00: Building zlib zlib-1.2.13.tar.xz checksum OK
    zlib-1.2.13.tar.xz checksum OK
    Aug  9 07:38:00: Building zstd zstd-1.5.5.tar.gz checksum OK
    zstd-1.5.5.tar.gz checksum OK

ERROR: Cannot guess build architecture                                                                                                                                               [ FAIL ]
    Check /var/sandbox/ipfire-2.x/log/_build.preparation.log for errors if applicable                                                                                                [ FAIL ]
    Check /var/sandbox/ipfire-2.x/log/_build.preparation.log for errors if applicable

That message means that the ./make.sh script did not recognise the architecture of your build system.

There are three allowed options

x86_64
aarch64
riscv64

The above error message gets shown when none of the above was found.
What build system are you using.

Just to confirm, you did run the whole sequence below:-

  • ./make.sh gettoolchain
  • ./make.sh downloadsrc
  • ./make.sh clean
  • ./make.sh build

Depending on when you last successfully ran the build there have been new toolchains released and so every build I do I follow the above sequence to be certain that everything is correct.

In the make.sh script the code gets the HOST_ARCH variable, which is then compared against the options listed above, by running uname -m

You could run that command on your system to see what response it gives.

Are you running the build on the same architecture as it will run on or are you cross compile building?

Isn’t that required?

linux32 ./make.sh gettoolchain
linux32 ./make.sh build

In the instructions it says:

./make.sh downloadsrc
linux32 ./make.sh gettoolchain
linux32 ./make.sh build

oO
That’s how it is now. =)) Thank you!

The order that gettoolchain and downloadsrc is done in is not critical but should be done before running build. Also clean should be run before running build so that you start with a clean system.

Also linux32 was removed from the wiki instructions 2.5 years ago. It is no longer needed as IPFire is only available as a 64 bit system. linux32 was used if you were building on a 64 bit build system for a 32 bit IPFire.

If the instructions you have still have linux32 in them then they are out of date.

I would have a review of the actual wiki page again as there have been various updates and improvements made to the documentation in the last 2.5 years.

This is from this page:https://wiki.ipfire.org/devel/ipfire-2-x/addon-howto/requirements

It’s so slow, the computer is fast.
Can I specify -j8 in make?
What would be your correct syntax?[

What does this information mean?

fatal: detected dubious ownership in repository at '/var/sandbox/ipfire-2.x'
To add an exception for this directory, call:

        git config --global --add safe.directory /var/sandbox/ipfire-2.x
fatal: detected dubious ownership in repository at '/var/sandbox/ipfire-2.x'
To add an exception for this directory, call:

        git config --global --add safe.directory /var/sandbox/ipfire-2.x
fatal: detected dubious ownership in repository at '/var/sandbox/ipfire-2.x'
To add an exception for this directory, call:

        git config --global --add safe.directory /var/sandbox/ipfire-2.x
Checking for necessary space on disk                                                                                                                                                 [ DONE ]
fatal: detected dubious ownership in repository at '/var/sandbox/ipfire-2.x'
To add an exception for this directory, call:

        git config --global --add safe.directory /var/sandbox/ipfire-2.x
Set cache size limit to 4.0 GB

Okay, I obviously missed that. I will remove those linux32 commands as it doesn’t make sense to deliberately build a 32 bit version of a package to run on a 64 bit system.

I depends on what you mean by slow. I have a Ryzen 7 5700G processor on my system and a complate build takes around 1.5 to 2 hours

In the past with older hardware it used to take 4 hours and when I first started the hardware took around 14 hours.

In the LFS file if you add $(MAKETUNING) after the make command then the make command will run in parallel with the max cores available on your system. So the make line would be

cd $(DIR_APP) && make $(MAKETUNING)

You can also add the instruction manually yourself but you then need to remember in the future if you change the hardware to one with more cores.
The command would be

cd $(DIR_APP) && make -j8
If you have 8 cores.

$(MAKETUNING) is defined in lfs/Config as

MAKETUNING = -j$(PARALLELISM)

and $(PARALLELISM) is defined as

PARALLELISM = $(shell echo $$( \
        if [ -n "$(MAX_PARALLELISM)" ] && [ $(MAX_PARALLELISM) -lt 1 ]; then \
                echo 1 ; \
        elif [ -n "$(MAX_PARALLELISM)" ] && [ $(MAX_PARALLELISM) -lt $(DEFAULT_PARALLELISM) ]; then \
                 echo $(MAX_PARALLELISM); \
         else \
                 echo $(DEFAULT_PARALLELISM); \
         fi) \
 )

A change was introduced in git 2.35.2 (and newer) to prevent a user from executing git commands in a repository owned by a different user. This is to address a security risk, CVE-2022-24765. The change to setup_git_directory prevents git invocations from executing commands on a repository owned by another user.

Fix for this on a single user system is to change the owner of the repository folder to the user which is running the git command.

1 Like

linux32 removed from wiki page

2 Likes

In the LFS file if you add $(MAKETUNING) after the make command then the make command will run in parallel with the max cores available on your system. So the make line would be

cd $(DIR_APP) && make $(MAKETUNING)

cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)

It’s like this for me now:
Should I delete “$(EXTRA_MAKE)”?

I didn’t quite understand what I should adjust in the “lfs/Config” so that it takes all the cores, it’s already in there.
Should I change something?

# Cargo dealocks on riscv64 when building on multiple cores at the same time    
  6 ifeq "$(BUILD_ARCH)" "riscv64"                                                  
  7   CARGO_OPTIONS += -j1                                                    
  8 else                                                                            
  9   CARGO_OPTIONS += $(MAKETUNING)                                                
 10 endif                                                                           
 11                                                                                 
 12 define CARGO_PREPARE                                                            
 13   mkdir -p $(CARGO_PATH) && \                                                   
 14   echo "$${CARGO_CONFIG}" > $(CARGO_PATH)/config && \                           
 15   rm -f Cargo.lock                                                              
 16 endef                                                                           
 17                                                                                 
 18 CARGO_BUILD = \                                                                 
 19   $(CARGO) \                                                                    
 20   build \                                                                       
 21   --release \                                                                   
 22   $(CARGO_OPTIONS)                                                              
 23                                                                                 
 24 # Checks whether this crate has a right taregt                                  
 25 CARGO_TARGET_CHECK = $(CARGO) metadata --format-version 1 --no-deps | \         
 26   jq -e ".packages[].targets[].kind | any(. == \"$(1)\")" | grep -q "true"

No, leave it there. It defines extra make parameters where needed.

You don’t have to adjust anything. I shouldn’t have mentioned about lfs/Config.

All you need to know is that $(MAKETUNING) when used in your make command line will automatically use all available cores available on your build system processor.

If this is the line that you have in your lfs file then you are already building in parallel with all available cores. Nothing more to do.

Version of Crytsetup is:

cryptsetup-2.6.1.tar.xz

Something wrong with the ‘lfs’ file?

cryptsetup (2.6.1)                                                                                                                                
    make: Nothing to be done for 'install'.
    Aug 10 04:27:04: Building perl-Module-Build + cd /usr/src/lfs
    + make -f perl-Module-Build LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:04: Building perl-Module-ScanDeps + cd /usr/src/lfs
    + make -f perl-Module-ScanDeps LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:04: Building perl-YAML-Tiny + cd /usr/src/lfs
    + make -f perl-YAML-Tiny LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:04: Building perl-Module-Install + cd /usr/src/lfs
    + make -f perl-Module-Install LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:05: Building perl-Imager + cd /usr/src/lfs
    + make -f perl-Imager LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:05: Building perl-Imager-QRCode + cd /usr/src/lfs
    + make -f perl-Imager-QRCode LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:05: Building perl-MIME-Base32 + cd /usr/src/lfs
    + make -f perl-MIME-Base32 LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:05: Building perl-URI-Encode + cd /usr/src/lfs
    + make -f perl-URI-Encode LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:05: Building rsnapshot rsnapshot-1.4.5.tar.gz checksum OK
    + cd /usr/src/lfs
    + make -f rsnapshot LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:27:05: Building cryptsetup make: *** No rule to make target 'cryptsetup-2.6.1.tar.xz', needed by 'b2'.  Stop.

ERROR: BLAKE2 checksum error in cryptsetup, check file in cache or signature                                                                                 [ FAIL ]
    Check /media/sandbox/ipfire-2.x/log/_build.ipfire.log for errors if applicable
lfs/cryptsetup
##############################################################################
#                                                                             #
# IPFire.org - A linux based firewall                                         #
# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
#                                                                             #
# This program is free software: you can redistribute it and/or modify        #
# it under the terms of the GNU General Public License as published by        #
# the Free Software Foundation, either version 3 of the License, or           #
# (at your option) any later version.                                         #
#                                                                             #
# This program is distributed in the hope that it will be useful,             #
# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
# GNU General Public License for more details.                                #
#                                                                             #
# You should have received a copy of the GNU General Public License           #
# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
#                                                                             #
###############################################################################

###############################################################################
# Definitions
###############################################################################

include Config

VER        = 2.6.1

THISAPP    = cryptsetup-$(VER)
DL_FILE    = $(THISAPP).tar.xz
#DL_FROM    = $(URL_IPFIRE)
DL_FROM    = https://www.kernel.org
DIR_APP    = $(DIR_SRC)/$(THISAPP)
TARGET     = $(DIR_INFO)/$(THISAPP)

PROG       = cryptsetup
PAK_VER    = 2

DEPS       = ""

SERVICES   = ""

###############################################################################
# Top-level Rules
###############################################################################
###############################################################################
# Top-level Rules
###############################################################################

objects = $(DL_FILE)

$(DL_FILE) = $(DL_FROM)/$(DL_FILE)

$(DL_FILE)_BLAKE2 = 0123456

install : $(TARGET)

check : $(patsubst %,$(DIR_CHK)/%,$(objects))

download :$(patsubst %,$(DIR_DL)/%,$(objects))

b2 : $(subst %,%_BLAKE2,$(objects))

###############################################################################
# Downloading, checking, md5sum
###############################################################################

$(patsubst %,$(DIR_CHK)/%,$(objects)) :
    @$(CHECK)

$(patsubst %,$(DIR_DL)/%,$(objects)) :
    @$(LOAD)

###############################################################################
# Installation Details
###############################################################################

$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xaf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)

With the line “72” there is this error?

$(subst %,%_BLAKE2,$(objects)) :                                                
72      @$(B2SUM)
cryptsetup (2.6.1)                                                                                                                                
    make: Nothing to be done for 'install'.
    Aug 10 04:31:48: Building perl-Module-Build + cd /usr/src/lfs
    + make -f perl-Module-Build LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:48: Building perl-Module-ScanDeps + cd /usr/src/lfs
    + make -f perl-Module-ScanDeps LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:48: Building perl-YAML-Tiny + cd /usr/src/lfs
    + make -f perl-YAML-Tiny LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:48: Building perl-Module-Install + cd /usr/src/lfs
    + make -f perl-Module-Install LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:48: Building perl-Imager + cd /usr/src/lfs
    + make -f perl-Imager LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:48: Building perl-Imager-QRCode + cd /usr/src/lfs
    + make -f perl-Imager-QRCode LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:49: Building perl-MIME-Base32 + cd /usr/src/lfs
    + make -f perl-MIME-Base32 LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:49: Building perl-URI-Encode + cd /usr/src/lfs
    + make -f perl-URI-Encode LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:49: Building rsnapshot rsnapshot-1.4.5.tar.gz checksum OK
    + cd /usr/src/lfs
    + make -f rsnapshot LFS_BASEDIR=/usr/src install
    make: Nothing to be done for 'install'.
    Aug 10 04:31:49: Building cryptsetup cryptsetup:72: *** missing separator.  Stop.

ERROR: Download error in cryptsetup                                                                                                                          [ FAIL ]
    Check /media/sandbox/ipfire-2.x/log/_build.ipfire.log for errors if applicable

You have not updated this line with the actual b2sum of your source file. The b2sum value should be 128 characters long.

See line $(DL_FILE)_BLAKE2 in
https://wiki.ipfire.org/devel/ipfire-2-x/lfs-template#top-level-rules
for details of how to get the b2sum.

This error would be picked up very quickly by running ./make.sh downloadsrc as that does a check of the b2 sums of all source files and flags up if there is an error before doing any build stages which are much slower.

Thanks for your help, I didn’t do that. o/

For me it just works like this:

$(subst %,%_BLAKE2,$(objects)) :
#    @$(B2SUM)

However, this error comes up:

cryptsetup (2.6.1)                                                                                                                                                       [        2 ][ FAIL ]

    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    checking how to run the C++ preprocessor... g++ -E
    checking for ld used by g++... /usr/bin/ld -m elf_x86_64
    checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    /bin/grep: warning: stray \ before -
    checking for g++ option to produce PIC... -fPIC -DPIC
    checking if g++ PIC flag -fPIC -DPIC works... yes
    checking if g++ static flag -static works... yes
    checking if g++ supports -c -o file.o... yes
    checking if g++ supports -c -o file.o... (cached) yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking dynamic linker characteristics... (cached) GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for asciidoctor... no
    configure: error: Building man pages requires asciidoctor installed.
    make: *** [cryptsetup:81: /usr/src/log/cryptsetup-2.6.1] Error 1

ERROR: Building cryptsetup                                                                                                                                                           [ FAIL ]
    Check /media/sandbox/ipfire-2.x/log/_build.ipfire.log for errors if applicable
Ah that's missing "asciidoctor"

I have now installed

But the error keeps coming: =((

cryptsetup (2.6.1)                                                                                                                                                       [        2 ][ FAIL ]

    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    checking how to run the C++ preprocessor... g++ -E
    checking for ld used by g++... /usr/bin/ld -m elf_x86_64
    checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    /bin/grep: warning: stray \ before -
    checking for g++ option to produce PIC... -fPIC -DPIC
    checking if g++ PIC flag -fPIC -DPIC works... yes
    checking if g++ static flag -static works... yes
    checking if g++ supports -c -o file.o... yes
    checking if g++ supports -c -o file.o... (cached) yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking dynamic linker characteristics... (cached) GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for asciidoctor... no
    configure: error: Building man pages requires asciidoctor installed.
    make: *** [cryptsetup:81: /usr/src/log/cryptsetup-2.6.1] Error 1

ERROR: Building cryptsetup                                                                                                                                                           [ FAIL ]
    Check /media/sandbox/ipfire-2.x/log/_build.ipfire.log for errors if applicable