Installing Firefox Add-ons
Posted: 06 Sep 2016, 19:38
There seems to be a lot of confusion on the forum about how to install Firefox add-ons. You cannot simply save the xpi file in the firefox extensions folder. There's a lot more to it. After a lot of trial and error I believe I figured it out and it's not that hard. So I'm posting this here to help others and possibly myself in the future. Most of the information comes from viewtopic.php?f=102&t=1741 but I'm hoping this is more straightforward.
First of all, you need a technician PC running some form of Linux. I used Ubuntu 16.04 LTS but you can use whatever you're comfortable with. I put the Porteus-Kiosk.ISO file in my home directory and extracted it to ~/iso. These instructions assume you are doing the same.
Step 1: Extract the ISO file to the ~/iso directory
Step 2: unsquash the 003-settings.xzm file to squashfs-root
Step 3: Launch Firefox using the Kiosk profile
I would strongly recommend using the exact same version of Firefox on your technician PC that is embedded in the ISO. Currently that is 45.1.1-esr but that could change with the next version of Porteus Kiosk Browser.
Step 4: Install add-ons
The Add-ons Manager does not work in this profile so you have to install add-ons by dragging and dropping the xpi file onto the Firefox window. It's helpful if you have Chrome or another browser installed so you can use Chrome to go addons.mozilla.org, download the xpi file for the add-on, and then drag and drop the xpi file into Firefox. Once you have all the add-ons installed, close Firefox.
Step 5: re-squash the 003-settings.xzm file
Make sure you specify "-comp xz" to force using xz compression. Some of the other articles I found do not mention this. Also the option "-Xbcj x86" seems to cause problems for many people so I omitted it.
Step 6: Re-build the ISO file
This will create a new ISO file in your home directory. If you have VirtualBox installed you can use it to boot the ISO into a virutal machine and test it all out. If you need to make changes, go back to step 2. If everything works, proceed to the next step.
Step 7: Preparing the ISO for booting from hard drive or USB drive.
Technically you don't need all those options, but if you don't you might run into problems because without them isohybrid creates a partition table that is invalid according to certain tools (like parted). I was using CloneZilla create an image of the finalized Kiosk but it was complaining about an recursive partition table until I added those options.
Step 8: Copy the ISO file to bootable media
Replace sdx with the actual device name for your USB or hard drive (sdb, sdc, etc...)
First of all, you need a technician PC running some form of Linux. I used Ubuntu 16.04 LTS but you can use whatever you're comfortable with. I put the Porteus-Kiosk.ISO file in my home directory and extracted it to ~/iso. These instructions assume you are doing the same.
Step 1: Extract the ISO file to the ~/iso directory
Code: Select all
mkdir ~/iso
sudo mount -o loop ~/Porteus-Kiosk.iso /mnt/cdrom
cp -a /mnt/cdrom/* ~/iso/
sudo umount /mnt/cdrom
Code: Select all
cd ~/iso/xzm
rm -rf squashfs-root
unsquashfs 003-settings.xzm
Code: Select all
firefox --profile ~/iso/xzm/squashfs-root/home/guest/.mozilla/firefox/c3pp43bg.default
Step 4: Install add-ons
The Add-ons Manager does not work in this profile so you have to install add-ons by dragging and dropping the xpi file onto the Firefox window. It's helpful if you have Chrome or another browser installed so you can use Chrome to go addons.mozilla.org, download the xpi file for the add-on, and then drag and drop the xpi file into Firefox. Once you have all the add-ons installed, close Firefox.
Step 5: re-squash the 003-settings.xzm file
Code: Select all
cd ~/iso/xzm
mksquashfs squashfs-root 003-settings.xzm -comp xz -b 256K -noappend
rm -rf squashfs-root/
Step 6: Re-build the ISO file
Code: Select all
cd ~/iso
./make_iso.sh
Step 7: Preparing the ISO for booting from hard drive or USB drive.
Code: Select all
cd ~
isohybrid -type 0x83 -offset 1 -h 255 -s 63 Porteus-Kiosk.iso
Step 8: Copy the ISO file to bootable media
Code: Select all
dd if=~/Porteus-Kiosk.iso of=/dev/sdx