Raspberry Pi Install Firefox



Translation(s): English - Español - Français - Italiano - Русский

  • Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, Mozilla Corporation. Firefox is available for many Operating Systems, on desktop and mobile.

Contents

But with a bit of tinkering, you can program a tiny and cheap Raspberry Pi computer to block this noisome dross. Follow these instructions to install the free program Pi-hole, which checks all. This video will show you how to install the latest firefox version on Raspberry Pi with Raspbian Buster.All commands used in this video are in the first comm. And that’s it, this is the end of this tutorial on how to install and configure Manjaro on Raspberry Pi. It was just an introduction, the goal here is not to go deeper on how. Manjaro works, but if you have any question feel free to leave a comment, and I could write other posts on this topic.

  1. Installing Firefox
  2. Profile

Installing Firefox

From Debian packages

On DebianStable, Install the firefox-esr package.

Install

This installs the Extended Support Release of Firefox. ESRs are not updated with new features every six weeks. They are instead supported for more than a year, updating with major security or stability fixes.

Support for languages other than English is available in packages named firefox-esr-l10n*.

On DebianUnstable, to install the Release version of Firefox, install the firefox package.

From Mozilla binaries

Mozilla distributes ready-to-use Firefox binaries for Linux on their website:

  • https://www.mozilla.org/en-US/firefox/ - Release

  • https://www.mozilla.org/en-US/firefox/channel/desktop/#beta - Beta

  • https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly - Nightly 01dialectical behavioral training.

To install any of them on DebianStable:

  • Download the Firefox version you want directly from the official website
  • Uncompress the archives:
    • in the /opt directory (system-wide installation - requires Root privileges)

    • in your home directory (install only for the current user)
  • Create a file firefox-stable.desktop (replace stable with beta or nightly if needed) with the contents below:

    • in the /usr/share/applications directory (system-wide installation - requires Root privileges)

    • in the ~/.local/share/applications directory (install only for the current user)

  • Replace /opt/firefox with the path to the directory where you extracted the archive.

  • If you want to be able to launch Firefox from a CommandLineInterface, create a symlink to the firefox executable in /usr/local/bin/. For example: sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox

  • If you want to use your manually installed Firefox as the default DebianAlternatives browser (x-www-browser), run sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 200 && sudo update-alternatives --set x-www-browser /opt/firefox/firefox

From Flathub

Mozilla provides an official FlatPak at FlatHub.

If you haven't already set up flatpak, run

Install it:

Run it:

If you have added /var/lib/flatpak/exports/bin to your PATH, you can also run it with the command

  • If you want to use your Firefox flatpak as the default DebianAlternatives browser (x-www-browser), run

Flatpaks don't support native messaging. Therefore, add-ons which rely on it such as KeePassXC Browser don't work. A workaround for KeePassXC is described in the Flathub forum. Since the KeePassXC's socket has been renamed in KeePassXC 2.6, for this version you need to tweak the solution as described in comment #3

Using snap

Mozilla provides an official Snap package for Firefox:

If you haven't already installed snapd, run

Install it:

Run it:

Snap packages don't support native messaging. Therefore, add-ons which rely on it such as KeePassXC Browser don't work. Since KeePassXC's server socket has been renamed, you need to tweak the workaround as explained in https://discourse.flathub.org/t/how-to-run-firefox-and-keepassxc-in-a-flatpak-and-get-the-keepassxc-browser-add-on-to-work/437/3?u=jro

Profile

Raspberry Pi Install Firefox

Firefox user data (your home page, toolbars, installed extensions, passwords, bookmarks..) are stored in a profile folder. (See this Mozilla support page).

  • ~/.mozilla/firefox/: location of profile directorie, for flatpak installations, it is ~/.var/app/org.mozilla.firefox/.mozilla/firefox/

  • /etc/firefox-esr/default/profile/: Files to copy to newly created profiles. Use this location to preconfigure Firefox.

  • ~/.mozilla/firefox/*.*/user.js: firefox preferences for each profile. These preferences can also be set from the browser interface, or from the about:config page.

  • /etc/firefox-esr/firefox-esr.js: default Firefox system-wide preferences. Each profile/user can override these preferences.

  • You can start the Profile Manager from Firefox or from the command line: firefox --no-remote -P

* If firefox refuses to start with the existing profile because the version of firefox launched is supposedly not compatible, you can try removing the file compatibility.ini within the profiles directory. You may want to back up the profiles directory first, in case of an actual incompatibility.

or, if you are using flatpak

Disabling automatic connections

Firefox makes a number of automated connections to Mozilla's (and other's) servers without explicitly asking the user for approval. Mozilla documents that list in the How to stop Firefox from making automatic connections page. Here is a table of the above parameters and how Debian diverges from the upstream default:

The table below may be out of date. It was created on 2018-09-23 from the upstream page by looking at an empty profile on Firefox ESR 60.2.1esr-1. Mozilla's documentation itself may be missing some parameters as well.

Feature

Parameter

Mozilla

Debian

Auto-update checking

app.update.enabled

true

false

Auto-update search engines

browser.search.update

true

true

Blocklist updating

extensions.blocklist.enabled

true

true

Anti-phishing and malware protection lists

browser.safebrowsing.downloads.remote.enabled

true

true

Tracking protection

privacy.trackingprotection.enabled

false

false

Secure website certificates (OCSP)

security.OCSP.enabled

1

1

Link prefetching

network.prefetch-next

true

true

DNS prefetching

network.dns.disablePrefetch

false (means enabled)

false

Speculative pre-connections

network.http.speculative-parallel-limit

6

0

Add-on list prefetching

N/A (can't be turned off)

enabled

enabled

Extensions update check

extensions.update.enabled

true

true

Live Bookmarks updating

N/A (user-enabled)

none by default

none by default

Downloads restarted

N/A (user-enabled)

N/A

N/A

Search plugin icon loading

?

?

?

Firefox Sync

? (needs user to opt-in)

N/A

N/A

Snippets

browser.aboutHomeSnippets.updateUrl

enabled

enabled

Geolocation for default search engine

browser.search.geoip.url

enabled

enabled

'What's new' page

browser.startup.homepage_override.mstone

enabled

enabled

Add-on metadata updating

extensions.getAddons.cache.enabled

enabled

enabled

Telemetry

browser.selfsupport.url

N/A?

N/A?

Telemetry

toolkit.telemetry.enabled

false in releases, true in nightly

false? there are other parameters

toolkit.telemetry.coverage.opt-out

not present (means enabled)

not present

OpenH264 plugin download

media.gmp-gmpopenh264.enabled

true

false

WebRTC

multiple

enabled

enabled?

Send Video To Device

browser.casting.enabled

false

N/A?

Captive portal detection

network.captive-portal-service.enabled

true

true

Loopback connection

can't be disabled

disabled on Linux

disabled

Other projects aim at improving security and privacy in Firefox:

  • TorBrowser - Firefox-based Web browser aimed at defending against tracking, surveillance, and censorship.

  • https://github.com/pyllyukko/user.js - Firefox configuration hardening

  • https://gitlab.com/anarcat/scripts/blob/master/firefox-tmp - Anarcat's firefox-tmp script

Plugins

The only plugin supported by Firefox is FlashPlayer (NPAPI version). Other plugins are no longer supported.

Plugins are found at /usr/lib/mozilla/plugins (system wide) or ~/.mozilla/plugins (current user only).

Troubleshooting

Firefox is consistently crashing on a website:

  • Run firefox in safe mode (extensions and themes disabled): firefox --safe-mode

  • If this fixes the problem, one of your extensions is the root cause, if not:
  • Create a new firefox profile: firefox --no-remote -P (or from the about:profiles page)

No sound:

Go through the general Sound troubleshooting steps. If this fails, reinstall alsa and pulseaudio:

Iceweasel

From Debian Etch through Debian Jessie (9th June 2016), Mozilla Firefox was not available in Debian with the official name or branding. Instead, Debian shipped a free-software version rebranded by Debian, named Iceweasel. This fork was maintained because of a disagreement with Mozilla regarding backporting of the security fixes to DebianStable, and as the result could not use trademarked Mozilla artwork.

Starting from DebianStretch, the iceweasel package has been made a transitional package for firefox-esr. Normal Debian support policies, including patches for bug fixes, apply to the package.

  • https://lists.debian.org/debian-devel/2006/10/msg00665.html - Will IceWeasel be based on a fork or on vanilla FireFox?

  • https://lwn.net/Articles/676799/ - The end of the Iceweasel Age

  • https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006 - Renaming Iceweasel to Firefox

Iceweasel used to require gstreamer1.0-libav gstreamer1.0-plugins-good packages for good video playback support.

External links

  • Mozilla Firefox Homepage

  • Debian Mozilla Team

  • Firefox - Arch Wiki

  • #debian-mozillaIRC channel

CategoryWebBrowser | CategorySoftware | CategoryNetworkApplication | CategoryRedundant: merge relevant info from Mozilla

This page describes how to install Firefox OS inside a Raspberry Pi running Raspbian, without disturbing the main Raspbian installation. The Firefox-OS-on-Raspberry-Pi project is known by the codename 'Foxberry Pi'.

WARNING: for the time being, this demo software is just that, literally demoware. It has no long-term support plan or API compatibility guarantees, and may eat your homework. This demo is mostly intended for developers who are prepared to deal with bleeding-edge software.

WARNING: this guide has you run large amounts of not-particularly-vetted code as root. Please ensure your Raspberry Pi isn't visible to the public Internet and is on a secure LAN.

Acknowledgements

This demo has been assembled from pieces of others' work. Thanks specifically to romaxa, trouch, and Philipp Wagner for doing the heavy lifting!

Prerequisites

You need a Raspberry Pi, of course. Models B and B+ should work equally well. This guide assumes your Raspberry Pi (here after RPi) is running a recent Raspbian OS. Other distributions will probably work, but haven't been tested.

Install WebIOPi on your RPi. Be sure to test that WebIOPi is working correctly before proceeding.

This guide assumes your RPi is connected to the host machine via Ethernet. A connection through a wifi dongle or USB networking (or ..) should work fine, but hasn't been tested.

It's strongly recommended that you install sshfs on your host machine. On Fedora,

Or on Ubuntu,

This guide assumes your RPi has the default user 'pi' configured.

You need to be able to ssh into your RPi. This means that

Free
  1. Your Raspberry Pi must have ssh access enabled
  2. You need to know either your RPi's hostname or IP address. The default hostname is 'raspberrypi'. We'll call this address $rpiaddress from here on.

Ensure that the following command, run from your host computer, allows you to log into your RPi

(You'll need to enter the password, which by default is 'raspberry'. But you changed the password, right? Right??)

Set up Firefox OS inside Raspbian

Download the Firefox OS demo files. Copy the package to your RPi and then extract it into your RPi user's home directory with

Raspberry Pi Install Firefox Windows 10

This should create a ffos folder in your RPi's home directory.

Set up your host for web development

Go to a folder you'd like to use for development on your host machine. We'll refer to that folder as $dev. Run the following commands on your host machine

Raspberry Pi Install Firefox Download

This mounts a special filesystem on your host machine's $dev/ffos mount point. The filesystem passes reads and writes through to your Raspberry Pi's ~/ffos folder. This allows you to develop code using your host computer's editor and without needing to explicitly synchronize files. This is usually far more convenient than alternatives.

Open the file $dev/ffos/app/html/app.js in your code editor on the host machine. If you can't open that file, something has gone wrong in your sshfs or RPi setup.

Set up development circuit

This section is optional but strongly recommended. The circuit consists of

  • +5V supply from RPi conneted to breadboard +
  • Ground from RPi connected to breadboard ground
  • Push-button momentary switch connected to GPIO22, configured with a 10kΩ pull-down resistor
  • LED connected to GPIO25, with 200Ω load resistor

You can of course use whatever pins and elements you wish. However, the demo code assumes the pin configuration above.

The push-button switch is the most important element, as we'll see below.

An image of the circuit is included for reference

How

Foxberry Pi development circuit

Run Firefox OS within Raspbian

Now that your host machine, RPi, and development circuits are set up, you can run the demo. Ensure that your RPi's HDMI out is plugged into a TV or monitor; Firefox OS draws directly to the GPU's framebuffer, it doesn't use X11. So currently the Firefox OS display can't be remoted.

The following commands start FFOS

Firefox OS runs within a chroot environment within your Raspbian installation.

Best Browser For Raspberry Pi

You should see a lot of logging spew written to your console. Finally, Firefox OS will load the demo application. If all goes well, your screen should blink green/black every second, and the LED in your demo circuit should blink on/off approximately in unison with the screen blinking.

Finally, return to your open copy of $dev/ffos/app/html/app.js. Find the string 'green' and change it to 'pink'. Save the file.

Now we're going to reload the web app. Foxberry Pi has a 'reload button' --- the literal, physical button you built for your development circuit! :) Press that button and hold it down for about a second. Your web app should reload and the background start blinking pink/black, instead of green/black.

So yes, Foxberry Pi enables save-reload web development on an embedded device.

Raspberry Pi Install Firefox

Congratulations! You're ready to develop apps for Foxberry Pi.

Follow-up projects

  • Extend the navigator.mozGpio polyfill shim in ffos/app/html/foxberry-pi.js with APIs for
    • outputting PWM signal
    • outputting single pulses
    • SPI communication
    • i2c communication
    • serial (UART) communication
  • Build a demo circuit that includes other devices
Raspberry Pi Install Firefox

(At this point, it's not worth trying to debug problems in the Firefox OS build itself. The code is most likely a dead end.)

Build from source

Raspberry Pi Install Firefox Esr

Follow the instructions here to build Firefox OS (a very old version) for Raspberry Pi. You can also download a pre-built pure-FFOS disk image from that site, if you have no need to run Raspbian.

The navigator.mozGpio API shim and example web app are hosted in this repository (along with some helper scripts for FFOS-in-Raspbian). If you take the challenge of extending the navigator.mozGpio as described above, please open pull requests at that repo to have your patches merged back! :)

The FFOS-in-Raspbian image hosted on this page was assembled by hand from Philipp's FFOS system image and the Foxberry Pi demo code.

Limitations

  • The Firefox OS build included in the image is very old
  • Not all device capabilities are exposed through Web APIs
  • No mouse or keyboard support
  • Display can't be remoted
  • On at least one TV used as output display, graphics are glitchy: left side of viewport is clipped, and right side is offset from right edge of TV leaving blank space
  • Slow and buggy
Retrieved from 'https://wiki.mozilla.org/index.php?title=Foxberry_Pi_Demo&oldid=1074900'