Differences between revisions 1 and 55 (spanning 54 versions)
Revision 1 as of 2012-09-20 14:59:06
Size: 1688
Editor: ?planetlarg
Comment:
Revision 55 as of 2019-09-27 17:48:17
Size: 14419
Comment: Add a fix to key downloading problem on default keyserver
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== FreedomBox Images ==

Nick Daly makes weekly
FreedomBox
test images. These images are available at:

 * https://www.betweennowhere.net/tracker
 * https://www.betweennowhere.net/tracker/freedombox-unstable.torrent
 * https://www.betweennowhere.net/tracker/freedombox-unstable.tar.bz2

These images include several !FreedomBox-related projects. New image announcements can be found on the [[http://lists.alioth.debian.org/pipermail/freedombox-discuss/|Freedombox-discuss mailing list]].

== verify an image ==

You can validate that a downloaded image has not been altered by checking the file signature.

First, download Nick Daly's key.
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[de/FreedomBox/Download|Deutsch]] - English - [[es/FreedomBox/Download|Español]] - [[fr/FreedomBox/Telecharger|Français]] -~
----
<<TableOfContents()>>

## BEGIN_INCLUDE

= Download and Install =

Welcome to the !FreedomBox download page. You may either install !FreedomBox on one of the supported inexpensive [[FreedomBox/Hardware|hardware]] devices, on any Linux [[FreedomBox/Hardware/Debian|Debian]] operating system, or deploy it on a virtual machine. <<BR>>

Installing on a machine running a Debian system is easy because !FreedomBox is available as a package. We do recommend to install !FreedomBox on a supported single board computer (SBC). The board will be dedicated for !FreedomBox use from home, this will prevent a lot of risks, such as accidental misconfiguration by the user. In case of trouble deciding which hardware is best for you or during the installation, please use the [[FreedomBox/Support|support page]] or read the [[FreedomBox/QuestionsAndAnswers|Questions and Answers]] page based on posts on the [[https://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss|Freedombox-discuss]] mailing list archives.

== Downloading on Debian ==

If you are installing on an existing Debian installation, you don't need to download these images. Instead read the [[FreedomBox/Hardware/Debian|instructions]] on setting up !FreedomBox on Debian.

== Downloading for SBC or Virtual Machine ==

=== Prepare your device ===

Read the hardware specific instructions on how to prepare your device at the [[FreedomBox/Hardware|Hardware]] section. On the web is a lot of documentation about setting your device up and flashing USB or SD Cards to boot your hardware.

=== Downloading Images ===

Recent images for supported targets are available here:

 * Official Images: https://freedombox.org/download/

 * Official Images: https://ftp.freedombox.org/pub/freedombox/

=== Verifying the Downloaded Images ===

It is important to verify the images you have downloaded to ensure that the file has not be corrupted during the transmission and that it is indeed the image built by !FreedomBox developers.

'''Note:''' Testing and nightly images are automatically signed by the !FreedomBox CI server.

  * First open a terminal and import the public keys of the !FreedomBox developers who built the images:
  {{{
$ gpg --recv-keys BCBEBD57A11F70B23782BC5736C361440C9BC971

$ gpg --recv-keys 7D6ADB750F91085589484BE677C0C75E7B650808

# This is the FreedomBox CI server's key
$ gpg --recv-keys 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
}}}
  If this command shows an error such as ''new key but contains no user ID - skipped'', then use a different keyserver to download the keys:
  {{{
$ gpg --keyserver keys.gnupg.net --recv-keys BCBEBD57A11F70B23782BC5736C361440C9BC971
$ gpg --keyserver keys.gnupg.net --recv-keys 7D6ADB750F91085589484BE677C0C75E7B650808
$ gpg --keyserver keys.gnupg.net --recv-keys 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
  }}}
  Or
  {{{
$ gpg --keyserver keyserver.ubuntu.com --recv-keys BCBEBD57A11F70B23782BC5736C361440C9BC971
$ gpg --keyserver keyserver.ubuntu.com --recv-keys 7D6ADB750F91085589484BE677C0C75E7B650808
$ gpg --keyserver keyserver.ubuntu.com --recv-keys 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
  }}}
  * Next, verify the fingerprint of the public keys:
  {{{
$ gpg --fingerprint BCBEBD57A11F70B23782BC5736C361440C9BC971
pub 4096R/0C9BC971 2011-11-12
      Key fingerprint = BCBE BD57 A11F 70B2 3782 BC57 36C3 6144 0C9B C971
uid Sunil Mohan Adapa <sunil@medhas.org>
sub 4096R/4C1D4B57 2011-11-12

$ gpg --fingerprint 7D6ADB750F91085589484BE677C0C75E7B650808
pub 4096R/7B650808 2015-06-07 [expires: 2020-06-05]
      Key fingerprint = 7D6A DB75 0F91 0855 8948 4BE6 77C0 C75E 7B65 0808
uid James Valleroy <jvalleroy@mailbox.org>
uid James Valleroy <jvalleroy@freedombox.org>
sub 4096R/25D22BF4 2015-06-07 [expires: 2020-06-05]
sub 4096R/DDA11207 2015-07-03 [expires: 2020-07-01]
sub 2048R/2A624357 2015-12-22

$ gpg --fingerprint 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
pub rsa4096 2018-06-06 [SC]
      013D 86D8 BA32 EAB4 A669 1BF8 5D41 53D6 FE18 8FC8
uid [ unknown] FreedomBox CI (Continuous Integration server) <admin@freedombox.org>
sub rsa4096 2018-06-06 [E]
}}}
  * Finally, verify your downloaded image with its signature file `.sig`. For example:
  {{{
$ gpg --verify freedombox-unstable-free_2015-12-13_cubietruck-armhf.img.xz.sig freedombox-unstable-free_2015-12-13_cubietruck-armhf.img.xz
gpg: Signature made Thursday 15 January 2015 09:27:50 AM IST using RSA key ID 0C9BC971
gpg: Good signature from "Sunil Mohan Adapa <sunil@medhas.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: BCBE BD57 A11F 70B2 3782 BC57 36C3 6144 0C9B C971
}}}

=== Installation ===

After the download you can use the image to boot your chosen [[FreedomBox/Hardware|hardware]] (including virtual machines). You'll need to copy the image to the memory card or USB stick as follows:

 1. Figure out which device your card actually is.

   1. Unplug your card.

   1. Run `dmesg -w` to show and follow the kernel messages.

   1. Plug your card in. You will see messages such as following:
   {{{
[33299.023096] usb 4-6: new high-speed USB device number 12 using ehci-pci
[33299.157160] usb 4-6: New USB device found, idVendor=058f, idProduct=6361
[33299.157162] usb 4-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[33299.157164] usb 4-6: Product: Mass Storage Device
[33299.157165] usb 4-6: Manufacturer: Generic
[33299.157167] usb 4-6: SerialNumber: XXXXXXXXXXXX
[33299.157452] usb-storage 4-6:1.0: USB Mass Storage device detected
[33299.157683] scsi host13: usb-storage 4-6:1.0
[33300.155626] scsi 13:0:0:0: Direct-Access Generic- Compact Flash 1.01 PQ: 0 ANSI: 0
[33300.156223] scsi 13:0:0:1: Direct-Access Multiple Flash Reader 1.05 PQ: 0 ANSI: 0
[33300.157059] sd 13:0:0:0: Attached scsi generic sg4 type 0
[33300.157462] sd 13:0:0:1: Attached scsi generic sg5 type 0
[33300.462115] sd 13:0:0:1: [sdg] 30367744 512-byte logical blocks: (15.5 GB/14.4 GiB)
[33300.464144] sd 13:0:0:1: [sdg] Write Protect is off
[33300.464159] sd 13:0:0:1: [sdg] Mode Sense: 03 00 00 00
[33300.465896] sd 13:0:0:1: [sdg] No Caching mode page found
[33300.465912] sd 13:0:0:1: [sdg] Assuming drive cache: write through
[33300.470489] sd 13:0:0:0: [sdf] Attached SCSI removable disk
[33300.479493] sdg: sdg1
[33300.483566] sd 13:0:0:1: [sdg] Attached SCSI removable disk
}}}

   1. In the above case, the disk that is newly inserted is available as ''/dev/sdg''. Very carefully note this and use it in the copying step below.

 1. Decompress the downloaded image using tar:
 {{{
$ xz -d freedombox-unstable-free_2015-12-13_cubietruck-armhf.img.xz
}}}

 The above command is an example for the ''cubietruck'' image built on
 2015-12-13. Your downloaded file name will be different.

 1. Copy the image to your card. Double check to make sure you don't
 write to your computer's main storage (such as /dev/sda). Also
 make sure that you don't run this step as root to avoid potentially
 overriding data on your hard drive due to a mistake in identifying the device or errors while typing the command. USB disks and SD cards inserted into the system should typically be write accessible to normal users. If you don't have permission to write to your SD card as a user, you may need to run this command as root. In this case triple check everything before you run the command. Another safety precaution is to unplug all external disks except the SD card before running the command.

 For example, if your SD card is ''/dev/sdg'' as noted in the first step
 above, then to copy the image, run:
 {{{
$ dd bs=1M if=freedombox-unstable-free_2015-12-13_cubietruck-armhf.img of=/dev/sdg conv=fdatasync status=progress
}}}

An alternative to copy to SD card command
 {{{
$ cat freedombox-unstable-free_2015-12-13_cubietruck-armhf.img > /dev/sdg ; sync
}}}
On MS Windows you will need a tool like ''etcher''.
On MacOS (OSX) you can use programs like ''balenaetcher'' and ''rosaimagewriter''.

 The above command is an example for the ''cubietruck'' image built on
 2015-12-13. Your image file name will be different.

 When picking a device, use the drive-letter destination, like ''/dev/sdg'', not a numbered destination, like ''/dev/sdg1''. The device
 without a number refers to the entire device, while the device with
 a number refers to a specific partition. We want to use the whole
 device. Downloaded images contain complete information about how many partitions there should be, their sizes and types. You don't have to format your SD card or create partitions. All the data on the SD card will be wiped off during the write process.

 1. Use the image by inserting the SD card or USB disk into the target device and booting from it. Your device should also be prepared (see the [[FreedomBox/Hardware|Hardware]] section).

 1. Read (the rest of) the [[FreedomBox/Manual|Manual]] for instructions on how to use applications in !FreedomBox.

== Obtaining Source Code ==

!FreedomBox is fully [[https://www.gnu.org/philosophy/free-sw.html|free software]] and you can obtain the source code to study, modify and distribute improvements.

=== From within FreedomBox ===

!FreedomBox is made up of several software programs and you can obtain the source code to any of them. These instructions are similar to obtaining and [[https://www.debian.org/doc/manuals/maint-guide/build.en.html|building]] [[https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html|source code]] [[https://wiki.debian.org/BuildingTutorial|for Debian]] since !FreedomBox is a pure blend of Debian. Using this process you can obtain the source code to the exact version of the package you are currently using in !FreedomBox.

 1. To see the list of software packages installed on your !FreedomBox, run the following in a terminal:
 {{{
dpkg -l
}}}
 1. To obtain the source code for any of those programs, then run:
 {{{
apt source <package_name>
}}}
 This requires that the file [[https://www.debian.org/doc/manuals/apt-howto/ch-basico.en.html|/etc/apt/sources.list]] file contains the information about the source code repositories. These are present by default on all !FreedomBox images. If you have installed !FreedomBox using a package from Debian, you need to ensure that source repositories are added in the file.
 1. To build the package from source code, first install its dependencies
 {{{
apt build-dep <package_name>
}}}
 Switch to the source directory created by the ''apt source'' command:
 {{{
cd <source_directory>
}}}
 Then build the package
 {{{
 dpkg-buildpackage -rfakeroot -uc
}}}
 1. Install the package:
 {{{
 dpkg -i ../<built_package>.deb
}}}

=== Other Ways to Obtain Source Code ===

 1. Source code for any of the packages can be browsed and searched using the web interface at [[https://sources.debian.org/|sources.debian.org]]. For example, see the [[https://sources.debian.org/src/plinth/|plinth]] package.

 1. Source code and pre-built binary package for any version of a package including historic versions can be obtained from [[https://snapshot.debian.org/|snapshot.debian.org]]. For example, see the [[https://snapshot.debian.org/package/plinth/|plinth]] package.

 1. You can also obtain the links to upstream project homepage, upstream version control, Debian's version control, changelog, etc. from the Debian tracker page for a project at [[https://tracker.debian.org/|tracker.debian.org]]. For example, see the tracker page for [[https://tracker.debian.org/pkg/plinth|plinth]] package.
 
 1. You can build and install a package from its Debian's version control repository. For example,
 {{{
 git clone https://salsa.debian.org/freedombox-team/plinth
 cd plinth
 apt build-dep .
 dpkg-buildpackage -rfakeroot -uc
 dpkg -i ../plinth*.deb
}}}

=== Building Disk Images ===

You can also build !FreedomBox disk images for various hardware platforms using the freedom-maker tool. This is also available as a Debian package and source code for it may be obtained using the above methods. [[https://salsa.debian.org/freedombox-team/freedom-maker/blob/master/README.md|Build instructions]] for creating disk images are available as part of the source code for freedom-maker package.

!FreedomBox disk images are built and uploaded to official servers using automated Continuous Integration infrastructure. This infrastructure is available as [[https://salsa.debian.org/freedombox-team/infrastructure|source code]] too and provides accurate information on how !FreedomBox images are built.

==== U-boot on Pioneer Edition Images ====

There is one minor exception to the u-boot package present on the hardware sold as !FreedomBox Home Server Kits Pioneer Edition. It contains an small but important fix that is not part of Debian sources. The fork of the Debian u-boot source repository along with the minor change done by the !FreedomBox is available as a [[https://salsa.debian.org/freedombox-team/u-boot|separate repository]]. We except this change to be available in upstream u-boot eventually and this repository will not be needed. This package can be built on a Debian armhf machine as follows (cross compiling is also possible, simply follow instructions for cross compiling Debian packages):
Line 19: Line 227:
$ gpg --keyserver hkp://keys.gnupg.net --recv-key D95C32042EE54FFDB25EC3489F2733F40928D23A
}}}

Then verify each file's signature.
apt install git git-buildpackage
git clone https://salsa.debian.org/freedombox-team/u-boot.git
cd u-boot
pbuilder create --distribution=buster
gbp buildpackage --git-pbuilder
}}}

The u-boot Debian package will be available in ''u-boot-sunxi*.deb''. This package will contain
Line 24: Line 237:
$ gpg --verify freedombox-unstable_2012.0915_dreamplug-armel-card.img.tar.bz2.sig.sig freedombox-unstable_2012.0915_dreamplug-armel-card.img.tar.bz2.sig
$ gpg --verify freedombox-unstable_2012.0915_virtualbox-i386-hdd.vdi.tar.bz2.sig.sig freedombox-unstable_2012.0915_virtualbox-i386-hdd.vdi.tar.bz2.sig
}}}



== use the image with VirtualBox ==

You can use !VirtualBox to run the image in a virtual machine. These instructions have more details:
 * http://wiki.debian.org/FreedomBox/VirtualBoxImages


== use the image with a DreamPlug ==

You can install the image to your
[[FreedomBox/DreamPlug|DreamPlug]]
directly. If
you've bought your own
[[FreedomBox/DreamPlug|DreamPlug]],
you will probably need to flash the
firmware, which requires a JTAG. Follow these instructions:

 * http://wiki.debian.org/FreedomBox/Firmware
mkdir temp
dpkg -x u-boot-suxi*.deb temp
unxz <lime2_image_built_with_freedom_maker>
dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=<lime2.img> seek=8 bs=1k conv=notrunc
}}}

The resulting image will have the modified u-boot in it.

## END_INCLUDE

<<Include(FreedomBox/Portal)>>

Translation(s): Deutsch - English - Español - ?Français


Download and Install

Welcome to the FreedomBox download page. You may either install FreedomBox on one of the supported inexpensive hardware devices, on any Linux Debian operating system, or deploy it on a virtual machine.

Installing on a machine running a Debian system is easy because FreedomBox is available as a package. We do recommend to install FreedomBox on a supported single board computer (SBC). The board will be dedicated for FreedomBox use from home, this will prevent a lot of risks, such as accidental misconfiguration by the user. In case of trouble deciding which hardware is best for you or during the installation, please use the support page or read the Questions and Answers page based on posts on the Freedombox-discuss mailing list archives.

Downloading on Debian

If you are installing on an existing Debian installation, you don't need to download these images. Instead read the instructions on setting up FreedomBox on Debian.

Downloading for SBC or Virtual Machine

Prepare your device

Read the hardware specific instructions on how to prepare your device at the Hardware section. On the web is a lot of documentation about setting your device up and flashing USB or SD Cards to boot your hardware.

Downloading Images

Recent images for supported targets are available here:

Verifying the Downloaded Images

It is important to verify the images you have downloaded to ensure that the file has not be corrupted during the transmission and that it is indeed the image built by FreedomBox developers.

Note: Testing and nightly images are automatically signed by the FreedomBox CI server.

  • First open a terminal and import the public keys of the FreedomBox developers who built the images:

    $ gpg --recv-keys BCBEBD57A11F70B23782BC5736C361440C9BC971
    
    $ gpg --recv-keys 7D6ADB750F91085589484BE677C0C75E7B650808
    
    # This is the FreedomBox CI server's key
    $ gpg --recv-keys 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8

    If this command shows an error such as new key but contains no user ID - skipped, then use a different keyserver to download the keys:

    $ gpg --keyserver keys.gnupg.net --recv-keys BCBEBD57A11F70B23782BC5736C361440C9BC971
    $ gpg --keyserver keys.gnupg.net --recv-keys 7D6ADB750F91085589484BE677C0C75E7B650808
    $ gpg --keyserver keys.gnupg.net --recv-keys 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
    Or
    $ gpg --keyserver keyserver.ubuntu.com --recv-keys BCBEBD57A11F70B23782BC5736C361440C9BC971
    $ gpg --keyserver keyserver.ubuntu.com --recv-keys 7D6ADB750F91085589484BE677C0C75E7B650808
    $ gpg --keyserver keyserver.ubuntu.com --recv-keys 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
  • Next, verify the fingerprint of the public keys:
    $ gpg --fingerprint BCBEBD57A11F70B23782BC5736C361440C9BC971
    pub   4096R/0C9BC971 2011-11-12
          Key fingerprint = BCBE BD57 A11F 70B2 3782  BC57 36C3 6144 0C9B C971
    uid                  Sunil Mohan Adapa <sunil@medhas.org>
    sub   4096R/4C1D4B57 2011-11-12
    
    $ gpg --fingerprint 7D6ADB750F91085589484BE677C0C75E7B650808
    pub   4096R/7B650808 2015-06-07 [expires: 2020-06-05]
          Key fingerprint = 7D6A DB75 0F91 0855 8948  4BE6 77C0 C75E 7B65 0808
    uid                  James Valleroy <jvalleroy@mailbox.org>
    uid                  James Valleroy <jvalleroy@freedombox.org>
    sub   4096R/25D22BF4 2015-06-07 [expires: 2020-06-05]
    sub   4096R/DDA11207 2015-07-03 [expires: 2020-07-01]
    sub   2048R/2A624357 2015-12-22
    
    $ gpg --fingerprint 013D86D8BA32EAB4A6691BF85D4153D6FE188FC8
    pub   rsa4096 2018-06-06 [SC]
          013D 86D8 BA32 EAB4 A669  1BF8 5D41 53D6 FE18 8FC8
    uid           [ unknown] FreedomBox CI (Continuous Integration server) <admin@freedombox.org>
    sub   rsa4096 2018-06-06 [E]
  • Finally, verify your downloaded image with its signature file .sig. For example:

    $ gpg --verify freedombox-unstable-free_2015-12-13_cubietruck-armhf.img.xz.sig freedombox-unstable-free_2015-12-13_cubietruck-armhf.img.xz
    gpg: Signature made Thursday 15 January 2015 09:27:50 AM IST using RSA key ID 0C9BC971
    gpg: Good signature from "Sunil Mohan Adapa <sunil@medhas.org>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BCBE BD57 A11F 70B2 3782  BC57 36C3 6144 0C9B C971

Installation

After the download you can use the image to boot your chosen hardware (including virtual machines). You'll need to copy the image to the memory card or USB stick as follows:

  1. Figure out which device your card actually is.
    1. Unplug your card.
    2. Run dmesg -w to show and follow the kernel messages.

    3. Plug your card in. You will see messages such as following:
      [33299.023096] usb 4-6: new high-speed USB device number 12 using ehci-pci
      [33299.157160] usb 4-6: New USB device found, idVendor=058f, idProduct=6361
      [33299.157162] usb 4-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      [33299.157164] usb 4-6: Product: Mass Storage Device
      [33299.157165] usb 4-6: Manufacturer: Generic
      [33299.157167] usb 4-6: SerialNumber: XXXXXXXXXXXX
      [33299.157452] usb-storage 4-6:1.0: USB Mass Storage device detected
      [33299.157683] scsi host13: usb-storage 4-6:1.0
      [33300.155626] scsi 13:0:0:0: Direct-Access     Generic- Compact Flash    1.01 PQ: 0 ANSI: 0
      [33300.156223] scsi 13:0:0:1: Direct-Access     Multiple Flash Reader     1.05 PQ: 0 ANSI: 0
      [33300.157059] sd 13:0:0:0: Attached scsi generic sg4 type 0
      [33300.157462] sd 13:0:0:1: Attached scsi generic sg5 type 0
      [33300.462115] sd 13:0:0:1: [sdg] 30367744 512-byte logical blocks: (15.5 GB/14.4 GiB)
      [33300.464144] sd 13:0:0:1: [sdg] Write Protect is off
      [33300.464159] sd 13:0:0:1: [sdg] Mode Sense: 03 00 00 00
      [33300.465896] sd 13:0:0:1: [sdg] No Caching mode page found
      [33300.465912] sd 13:0:0:1: [sdg] Assuming drive cache: write through
      [33300.470489] sd 13:0:0:0: [sdf] Attached SCSI removable disk
      [33300.479493]  sdg: sdg1
      [33300.483566] sd 13:0:0:1: [sdg] Attached SCSI removable disk
    4. In the above case, the disk that is newly inserted is available as /dev/sdg. Very carefully note this and use it in the copying step below.

  2. Decompress the downloaded image using tar:
    $ xz -d freedombox-unstable-free_2015-12-13_cubietruck-armhf.img.xz

    The above command is an example for the cubietruck image built on 2015-12-13. Your downloaded file name will be different.

  3. Copy the image to your card. Double check to make sure you don't write to your computer's main storage (such as /dev/sda). Also make sure that you don't run this step as root to avoid potentially overriding data on your hard drive due to a mistake in identifying the device or errors while typing the command. USB disks and SD cards inserted into the system should typically be write accessible to normal users. If you don't have permission to write to your SD card as a user, you may need to run this command as root. In this case triple check everything before you run the command. Another safety precaution is to unplug all external disks except the SD card before running the command.

    For example, if your SD card is /dev/sdg as noted in the first step above, then to copy the image, run:

    $ dd bs=1M if=freedombox-unstable-free_2015-12-13_cubietruck-armhf.img of=/dev/sdg conv=fdatasync status=progress

An alternative to copy to SD card command

  • $ cat freedombox-unstable-free_2015-12-13_cubietruck-armhf.img > /dev/sdg ; sync

On MS Windows you will need a tool like etcher. On MacOS (OSX) you can use programs like balenaetcher and rosaimagewriter.

  • The above command is an example for the cubietruck image built on 2015-12-13. Your image file name will be different.

    When picking a device, use the drive-letter destination, like /dev/sdg, not a numbered destination, like /dev/sdg1. The device without a number refers to the entire device, while the device with a number refers to a specific partition. We want to use the whole device. Downloaded images contain complete information about how many partitions there should be, their sizes and types. You don't have to format your SD card or create partitions. All the data on the SD card will be wiped off during the write process.

  • Use the image by inserting the SD card or USB disk into the target device and booting from it. Your device should also be prepared (see the Hardware section).

  • Read (the rest of) the Manual for instructions on how to use applications in FreedomBox.

Obtaining Source Code

FreedomBox is fully free software and you can obtain the source code to study, modify and distribute improvements.

From within FreedomBox

FreedomBox is made up of several software programs and you can obtain the source code to any of them. These instructions are similar to obtaining and building source code for Debian since FreedomBox is a pure blend of Debian. Using this process you can obtain the source code to the exact version of the package you are currently using in FreedomBox.

  1. To see the list of software packages installed on your FreedomBox, run the following in a terminal:

    dpkg -l
  2. To obtain the source code for any of those programs, then run:
    apt source <package_name>

    This requires that the file /etc/apt/sources.list file contains the information about the source code repositories. These are present by default on all FreedomBox images. If you have installed FreedomBox using a package from Debian, you need to ensure that source repositories are added in the file.

  3. To build the package from source code, first install its dependencies
    apt build-dep <package_name>

    Switch to the source directory created by the apt source command:

    cd <source_directory>
    Then build the package
     dpkg-buildpackage -rfakeroot -uc
  4. Install the package:
     dpkg -i ../<built_package>.deb

Other Ways to Obtain Source Code

  1. Source code for any of the packages can be browsed and searched using the web interface at sources.debian.org. For example, see the plinth package.

  2. Source code and pre-built binary package for any version of a package including historic versions can be obtained from snapshot.debian.org. For example, see the plinth package.

  3. You can also obtain the links to upstream project homepage, upstream version control, Debian's version control, changelog, etc. from the Debian tracker page for a project at tracker.debian.org. For example, see the tracker page for plinth package.

  4. You can build and install a package from its Debian's version control repository. For example,
     git clone https://salsa.debian.org/freedombox-team/plinth
     cd plinth
     apt build-dep .
     dpkg-buildpackage -rfakeroot -uc
     dpkg -i ../plinth*.deb

Building Disk Images

You can also build FreedomBox disk images for various hardware platforms using the freedom-maker tool. This is also available as a Debian package and source code for it may be obtained using the above methods. Build instructions for creating disk images are available as part of the source code for freedom-maker package.

FreedomBox disk images are built and uploaded to official servers using automated Continuous Integration infrastructure. This infrastructure is available as source code too and provides accurate information on how FreedomBox images are built.

U-boot on Pioneer Edition Images

There is one minor exception to the u-boot package present on the hardware sold as FreedomBox Home Server Kits Pioneer Edition. It contains an small but important fix that is not part of Debian sources. The fork of the Debian u-boot source repository along with the minor change done by the FreedomBox is available as a separate repository. We except this change to be available in upstream u-boot eventually and this repository will not be needed. This package can be built on a Debian armhf machine as follows (cross compiling is also possible, simply follow instructions for cross compiling Debian packages):

apt install git git-buildpackage
git clone https://salsa.debian.org/freedombox-team/u-boot.git
cd u-boot
pbuilder create --distribution=buster
gbp buildpackage --git-pbuilder

The u-boot Debian package will be available in u-boot-sunxi*.deb. This package will contain

mkdir temp
dpkg -x u-boot-suxi*.deb temp
unxz <lime2_image_built_with_freedom_maker>
dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=<lime2.img> seek=8 bs=1k conv=notrunc

The resulting image will have the modified u-boot in it.


Intro

Information

Support

Contribute

Reports

Promote

Vision

Hardware

Live Help

Where To Start

Translate

Calls

Talks

Overview

Download

Q&A

To Do

Design

Releases

Press

Features

Manual

Contributors

Code

Blog

FreedomBox for Communities

FreedomBox Developer Manual

HELP & DISCUSSIONS: Discussion Forum - Matrix - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project

Next call: Saturday, April 13 at 14:00 UTC

This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.


CategoryFreedomBox