Best way to put FreedomBox on RBPi 4 2gb

So I’ve been running a Raspberry pi 2 with FreedomBox for a little over two months now. I am very new to Linux in general (I just found out how to cd in the terminal, its not my fault it doesn’t start at a drive letter :smile: ). For some background, I have three years of java under my belt, i’m not new to the tech scene. However, I almost can’t survive without a UI and, the only way I knew how to install FreedomBox on my RBPi 2 is flashing the image y’all provide on the download page. I now have a RBPi 4 that I want to have FreedomBox on it too. Is there an easy fool proof way (literary one or two commands and, step by step) to install FreedomBox on my RBPi 4? Will there be an image that I can download in the future? I’ve gone as far as blindly shooting in the dark and putting a RBPi 2 image (testing) on my RBPi 4. Alas, no dice (not showing up on my router via network scan).

Unfortunately, I don’t have an micro HDMI to connect to a display. I can’t see the startup text (or even if there is any).

My RBPi 4 has the offical power supply connected. The red power indicator is on. Both network activity indicator lights are on. The RBPi 2 has been renamed from freedombox to RBPi2 in settings to avoid any problems (if there would be if there where two "freedombox"es on the network).

I am fairly confident the reason why the RBPi 4 is not showing up on the router is because i’m using a RBPi 2 image :neutral_face:. It was worth a shot though.

:slight_smile: I understand. We are hoping that as FreedomBox gets better you won’t have to deal with command line at all.

Any feeback on how this went?

Yes, this is likely. I don’t think Raspberry Pi 4 provides compatibility for Raspberry Pi 2/3B/3B+ images as is. We are looking to provide a separate image for Raspberry Pi 4 in the future. However, support Pi 4 is slow coming in the Linux kernel and eventually to Debian. I could be a while before we have the images ready.

The best way I can see to run FreedomBox Raspberry Pi 4 is get Debian Buster image for it (as vanilla as possible). And then you can follow this guide: https://wiki.debian.org/FreedomBox/Hardware/Debian . Unfortunately, you will need to run a few commands to during this process.

Do report back on how it goes. We don’t have reports from users running FreedomBox on Raspberry Pi 4 yet.

1 Like

As far as putting the FreedomBox image on my RBPi 2, it was seamless. I had it up and running in no time. About the RBPi 4, I brushed through the steps and that does look pretty easy to do. Unfortunately, I don’t have access to my hardware at the moment. I’ll go through the steps in less than a week and report back here with the results. When it comes to the “purest” Debian Buster image, I’ll try out what the official RBPi website has as it’s “no UI bare bones” version and hope that suffices. Thank you for the speedy reply!

1 Like

OK! I have got my Raspberry Pi 4 working with FreedomBox! Sort of…
Right now, when I try to install a program from the plinth UI it says something about backports not being signed or something. That issue is for another thread and another day :sweat_smile:. For right now, I have an UNOFFICIAL GUIDE I can share to y’all that can get you to a user account in your FreedomBox.

My hardware, Raspberry pi 4 2gb, 128gb microSD card, official RBPi 4 USB C power supply.

Prerequisites
I connected my RBPi to the internet using the wired ethernet cable.
I have not bothered to buy a micro HDMI adapter, this setup is headless.

Steps
-Download or torrent the Raspbian Buster Lite image file at https://www.raspberrypi.org/downloads/raspbian/
-Flash the image to a freshly formatted MicroSD card (above 8gb using Etcher or a flashing alternative)
-When flashing has commenced, make a new .TXT file in the “boot” partition named “ssh”.
(The text file contains nothing, it’s just the name that we changed to “ssh”)
-Safely eject the MicroSD card from your computer and install it into the powered off RBPi 4
-Plug the RBPi 4 up to a power supply
(The pi may or may not run on 5V 1A, the power specifications have changed from last generation.)
-Using one of multiple methods, get the ip of the RBPi 4 on your network.
(One method includes using the app Fing on the App store or Play store to scan your network. The device should be named raspberrypi)
-SSH to the RBPi 4 using the ip
(A program you can use is called PuTTY.)
If the previous steps where done correctly, you will be asked for a username.
-The default username and password for Raspbian on the image is “pi” and “raspberry” respectively. Enter those in.
-IN THE TERMINAL WINDOW, (enter without quotation marks)
“sudo raspi-config”
(an old school like UI will appear)
-Using the arrow keys, go down to “advanced options” and press enter
-Press enter on “expand file system”
-Press escape to go to “Finish”
-You will be asked to reboot, select yes
(Close your PuTTY window, reopen it 30-40 seconds later or when the raspberry pi fully reboots)
-Start a new PuTTY window with the ip.
-IN THE TERMINAL WINDOW, (enter without quotation marks)
“sudo apt-get update”
(Wait until it finishes)
“sudo apt-get upgrade”
-You will be asked if you want to continue, enter “y”
(Wait until it finishes)
“sudo DEBIAN_FRONTEND=noninteractive apt-get install freedombox-setup”
-You will be asked if you want to continue, enter “y”
(Wait until it finishes)
“cd …”
“cd …”
“cd var/lib/plinth”
“sudo cat firstboot-wizard-secret”
(You will see a short string of random characters)
-Copy the string to a piece of paper
-Close the PuTTY window
-Open your Internet browser
-Enter your RBPi 4 ip into your browsers address bar
(Your browser could say this is un-safe, this is on my home network so I didn’t worry much about the consequences of not having the correct certificates set up, click more options and continue to site.)
-When the FreedomBox asks for your secret, enter what you wrote down.
-continue the setup. You are done!

Unfortunately, the first thing I did was dive right in with setting up a Syncthing node. This didn’t work because that backports thing mentioned above. I’ll have more time another day to find the solution for that. I am new to Raspbian and Linux, my guide works for me so that’s good enough :ok_hand:.

1 Like

To resolve the problem with backports key see this solution: [Solved] buster-backports public key is not available Raspberry pi 1b

1 Like

Nice, I’m installing Syncthing as I type. This thread is solved! Thank you Sunil!

1 Like

Hello Jacob,
i followed your instructions on my new Raspberry Pi 4 b (8GB). If i reboot the RasPi i don’t get the FreedomBox first Boot Screen. I see the Apache Greeting Site instead. What’s my mistake? Do you have any Suggestions? Using the Raspberry Images from Freedombox.org won’t boot. I can connect via ssh to the RasPi and see the FreedomBox Logo, so the Box is alive :slight_smile:

Hi MikaelB,

There is now one generic FreedomBox image for various arm64 SBCs like Raspberry Pi 4. The installation process is different from armhf images.

Please follow the instructions on the wiki on how to install.

Thanks for the hint! But unfortunately, even after reading those RPi4 instructions I’m still not sure about the possible ways the generic arm64 image is supposed to be booted on different boards.

Would you have some info or link for: https://freedombox.org/download/arm64/ ?
Maybe something like the kernel and initramfs paths to load and boot from u-boot?
No config or device tree adjustments?

Thank you for your help njoseph! My Freedombox now runs on the Raspberry Pi. Unfortunately, the available RAM is not fully used (only 2.8 of 8 GB). The kernel probably doesn’t quite fit. I used Freedombox Pioneer hardware but 1GB of RAM is very little memory. I hope it follows a variant with more memory

Best way with the powerfull new RBPi 4 : Freedombox in a LXC container !
Attempting to run Freedombox on a RBPi4 4Go. I installed Freedombox in a LXC container. I like to explore the idea to have a base FreedomBox container that I can personnalize for different usages (xmpp server, jitisi server reachable through openVPN for communication by exemple, or fileserver & backup) . The Plinth interface seems to work inside the container. As my LXC is configured this way :
lxc profile device add default eth0 nic nictype=macvlan parent=eth0 name=eth0
I can access to the container’s IP adress on my local network and browse Freedom box web interface or control it with SSH.

But making some apps such as OpenVPN needs an effort…(not so easy)
Currently I’m struggling to run openVPN.
After some efforts I attempt to run OpenVPN manually using the following,
sudo openvpn /etc/openvpn/server/freedombox.conf
with
sudo ifconfig -a
I see the tun0 interface.

but It seems to have some problem while running it properly and automatically at the startup.

sudo journalctl -xe

I get some error messages :

"-- Logs begin at Thu 2021-02-18 11:28:19 UTC, end at Thu 2021-02-18 12:24:04 UTC. –
févr. 18 12:19:44 Sonet systemd[1]: openvpn-server(a)freedombox.service: Service RestartSec=5s expired, scheduling restart.
févr. 18 12:19:44 Sonet systemd[1]: openvpn-server(a)freedombox.service: Scheduled restart job, restart counter is at 587.
– Subject: Automatic restarting of a unit has been scheduled
– Defined-By: systemd
– Support: .debian.org/support
– Automatic restarting of the unit openvpn-server(a)freedombox.service has been scheduled, as the result for
– the configured Restart= setting for the unit.
févr. 18 12:19:44 Sonet systemd[1]: Stopped OpenVPN service for freedombox.
– Subject: A stop job for unit openvpn-server(a)freedombox.service has finished
– Defined-By: systemd
– Support: .debian.org/support
– A stop job for unit openvpn-server(a)freedombox.service has finished.
– The job identifier is 30058 and the job result is done.
févr. 18 12:19:44 Sonet systemd[1]: Starting OpenVPN service for freedombox…
– Subject: A start job for unit openvpn-server(a)freedombox.service has begun execution
– Defined-By: systemd
– Support: .debian.org/support
– A start job for unit openvpn-server(a)freedombox.service has begun execution.
– The job identifier is 30058.
févr. 18 12:19:44 Sonet openvpn[9575]: OpenVPN 2.4.7 aarch64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKT
INFO] [AEAD] built on Feb 20 2019
févr. 18 12:19:44 Sonet openvpn[9575]: library versions: OpenSSL 1.1.1d 10 Sep 2019, LZO 2.10
févr. 18 12:19:44 Sonet openvpn[9575]: NOTE: your local LAN uses the extremely common subnet address XXX.XXX.XXX.XXX or XXX.XXX.XXX.XXX. B
e aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that us
e the same subnet.
févr. 18 12:19:44 Sonet systemd[1]: Started OpenVPN service for freedombox.
– Subject: A start job for unit openvpn-server(a)freedombox.service has finished successfully
– Defined-By: systemd
– Support: .debian.org/support
– A start job for unit openvpn-server(a)freedombox.service has finished successfully.
– The job identifier is 30058.
févr. 18 12:19:44 Sonet openvpn[9575]: ROUTE_GATEWAY XXX.XXX.XXX.XXX/255.255.255.0 IFACE=eth0 HWADDR=YY:YY:YY:YY:YY:YY
févr. 18 12:19:44 Sonet openvpn[9575]: TUN/TAP device tun0 opened
févr. 18 12:19:44 Sonet openvpn[9575]: Note: Cannot set tx queue length on tun0: Operation not permitted (errno=1)
févr. 18 12:19:44 Sonet openvpn[9575]: /sbin/ip link set dev tun0 up mtu 1500
févr. 18 12:19:44 Sonet openvpn[9575]: openvpn_execve: unable to fork: Resource temporarily unavailable (errno=11)
févr. 18 12:19:44 Sonet openvpn[9575]: Exiting due to fatal error
févr. 18 12:19:44 Sonet NetworkManager[139]: [1613650784.6154] manager: (tun0): new Tun device (/org/freedesktop/NetworkMan
ager/Devices/590)
févr. 18 12:19:44 Sonet systemd-udevd[9576]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writabl
e.
févr. 18 12:19:44 Sonet systemd-udevd[9576]: link_config: could not get ethtool features for tun0
févr. 18 12:19:44 Sonet systemd-udevd[9576]: Could not set offload features of tun0: No such device
févr. 18 12:19:44 Sonet systemd[1]: openvpn-server(a)freedombox.service: Main process exited, code=exited, st
atus=1/FAILURE
"

**Do somebody has a recipe to make it work ? **

Moreover I have some similar trouble with fail2ban which is dedicated to avoid attacks on SSH and OpenVPN. (Currently it is not a problem for me since I’m only working on my local network, but when I’ll want to make the server being reachable from a distant terminal through internet, it will be)

“-- The unit openvpn-server(a)freedombox.service has entered the ‘failed’ state with result ‘exit-code’.
févr. 18 11:28:24 Sonet nscd[110]: 110 monitoring file /etc/passwd (1)
févr. 18 11:28:24 Sonet nscd[110]: 110 monitoring directory /etc (2)
févr. 18 11:28:24 Sonet nscd[110]: 110 monitoring file /etc/group (3)
févr. 18 11:28:24 Sonet nscd[110]: 110 monitoring directory /etc (2)”