Clone this wiki locally
Deprecated: This Distribution is not supported anymore and this page is only for reference.
ubilinux™ is an embedded Linux distribution from Emutex, based on Debian. It is targeted at embedded devices that have limited memory and storage capabilities.
ubilinux has been tailored specifically for the UP board / Up Squared / Up Core, providing kernel drivers, libraries, and applications to support all the features of the board, such as the 40-pin I/O header or HDMI audio.
- an internet connection
- a USB Pendrive with at least 4GB of capacity
- a PC/Mac to create the USB installation disk
Get the latest ubilinux image from the ubilinux Page
To create the USB Pendrive in Linux you can use ether
- Insert the Pendrive in the PC where you have downloaded the ubilinux image
- Open a terminal and type the following command to find the name of the USB drive:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 14.6G 0 disk └─sdb1 8:17 1 14.6G 0 part /media/emutex/719C-B8CF sda 8:0 0 232.9G 0 disk ├─sda2 8:2 0 224.5G 0 part / ├─sda3 8:3 0 7.9G 0 part [SWAP] └─sda1 8:1 0 512M 0 part /boot/efi
On this system, the Pendrive is a 16Gb pen drive. From the lsblk output, I get that the device name is sdb and the corresponding device file is /dev/sdb
I also see that I have a mounted partition (sdb1) under /media/emutex/719C-B8CF.
- First unmount that partition
sudo umount /dev/sdb1
- If I type again lsblk I see that the partition is not mounted anymore
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 14.6G 0 disk └─sdb1 8:17 1 14.6G 0 part sda 8:0 0 232.9G 0 disk ├─sda2 8:2 0 224.5G 0 part / ├─sda3 8:3 0 7.9G 0 part [SWAP] └─sda1 8:1 0 512M 0 part /boot/efi
- Then I write the disc image that I have downloaded (substitute with the right path/image name):
$ sudo dd bs=4M if=/path/to/ubilinux.iso of=/dev/sdX status=progress && sync
For example on my system with ubilinux 4.0 installer the command looks like,
$ sudo dd bs=4M if=/home/emutex/Downloads/ubilinux-installer-2017.09.08-x86_64-rc3.iso of=/dev/sdb status=progress && sync
- Remove the Pendrive from the system with (substitute with the right device name):
$ sudo eject /dev/sdb
- Download Rufus from https://rufus.akeo.ie
- Select the ubilinux image and the destination usb driver
- Under Create a boot disk using: select the dd option
- Ensure Partition scheme and target system type option is set to MBR partition scheme for UEFI.
- Once the process is complete, press Close and eject your drive before disconnecting it.
- Insert the Pendrive in the Mac where you have downloaded the ubilinux image.
- Open a terminal and type the following command to find the name and number of the USB drive:
$ diskutil list /dev/disk3 (disk image): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme +177.0 MB disk3 1: Apple_HFS Etcher 1.1.2 176.9 MB disk3s1 /dev/disk4 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *7.8 GB disk4 1: DOS_FAT_32 7.8 GB disk4s1
- On this example the Pendrive is 8GB, so the device identifier is "disk4" and the corresponding device file is /dev/disk4
- Now that we have identified our disk we need to unmount it before we can write the image. In the terminal type:
$ diskutil unmountDisk /dev/diskX //replace X with your device disk number, in our case the number is 4
- Let’s write the ubilinux image to our Pendrive.
Warning: These commands need to be run with root privileges and you risk to wipe out your hard disk if you do it incorrectly. Do this at your own risk.
- In the terminal type:
sudo dd bs=1m if=/Users/Bob/Downloads/ubilinux.iso of=/dev/rdiskX conv=sync
- Where if= and in the of= part, please replace X with your identifier, in our case the number is 4
- Remove the pendrive from the system with:
$ diskutil unmountDisk /dev/diskX
- Where X is the disk number that we found on the first step, in our case the number is 4
- Power off the board
- Connect the USB drive created above drive to a spare USB port of your UP / UP Squared / UP Core board.
- Turn on the board
- The system should reboot when you see the UP logo, press F7 to open the boot menu (if you're asked for a password simply press Enter)
- Select your USB stick as the boot disk.
- Select ubilinux installer UEFI CD (interactive) to begin the manual installation or select ubilinux installer UEFI CD to perform the unattended installation.
- The installer will ask a few questions:
- keymap: type as example uk for british keymap, ie for Irish or leave the default and change later
- Target Disk: usually the default is ok (/dev/mmcblk0)
- Locale: type the system locale (en_IE.UTF-8 as example)
- Timezone: example: Europe/Dublin
- After installation is complete, the system will power off.
- Remove the USB drive used for the installation and power it on again
That's it! Now you can login using your chosen username and password.
Warning: ubilinux 4 installer Errata
There's an issue where the installer may stop in some cases after the partitioning.
If that's the case the installer exit with an error and you will be presented with a cmd prompt.
We are currently investigating the issue but in the meantime, if this happens to you you can restart the installation by typing at the command prompt:
- After rebooting it is recommended to run an update whenever the board is connected to the internet:
sudo apt update && sudo apt full-upgrade -y
If you don't have a monitor connected to the up board you can install ubilinux from a serial console in the same manner that you do with a monitor/keyboard.
The serial console is connected to the 10 pin connector of the UP / UP Squared / UP Core
Follow the instruction here to connect to the serial port and then from there you can access the bios and perform the installation as is written in the previous section.
All the UP specific Kernel changes are licensed as GPLv2.
As ubilinux is a Debian derivative distribution, the details of the licenses are available from the Debian Licenses page:
Other software included, which are not part of the original Debian distribution, are (Licenses information are available on each software source page):
- upm: https://github.com/intel-iot-devkit/upm
- mraa: https://github.com/intel-iot-devkit/mraa
- rpi.gpio: https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/
- hostapd: https://w1.fi/hostapd
- hostapd-rtl871xdrv (hostapd driver mods): https://github.com/pritambaral/hostapd-rtl871xdrv