Software projects/OS/SOLEIL

From Pandora Wiki
Jump to: navigation, search

Disclaimer

Helping this project

What is SOLEIL ?

  • In french, Soleil means Sun.
  • SOLEIL is a Slackware-based operating system.
  • The Pandora version of SOLEIL is based on SL4P, Slackware for Pandora, itself based on Slackware ARM.

Ok, but what is SOLEIL ?!!?

  • It's the core of a mobile network. In a few seconds, you can use your Pandora to act as:
    • a firewall/gateway/router
    • a DNS server
    • a DHCP server
    • a NFS server
    • a Inetd server
    • a distcc server, networked distributed compilation system for faster x86_32, x86_64 and ARM compilations
    • a PXE boot server to start simultaneously multiple x86 32 bits and 64 bits PC, and also GameCube PowerPC. Currently supported are:
      • Slackware 32 and 64 bits installers
      • Dyne:bolic, a Linux home studio for making music
      • System Rescue CD, a Gentoo-based Linux to repair filesystems, recover data etc.
      • GParted, a Debian-based Linux for partitioning and formatting hard drives, SSD, SD cards etc.
      • Ghost for Linux (G4L), a powerful hard drive clone/backup utility
      • OpenBSD (the most secure free operating system) installer
      • Gc-linux, Linux for the Nintendo GameCube
      • MemTest, different versions of a RAM testing tool
      • Hardware Detection Tool, for quickly make an inventory of the booted PC's hardware
    • And the main feature is to act as a PXE boot server to start two persistent versions of Slackware, 32 bits and 64 bits

Media choice

Accessories choice

Installation

Rootfs versions

  • There's two rootfs, minimal and maximal.
  • Note that maximal version may not be available for download because of the reason below.
  • Minimal (16G SD card) only contains a 32 and 64 bits Slackware PXE, and all extra features can be installed as long as you have internet. Be careful to use a 32G SD card if you want to install extra features.
  • Maximal (32G SD card) contains all features.

Setup

  • Once the rootfs is installed on the SD card, you have to setup a "Master" client PC. Edit /etc/dhcpd.conf, and replace the 00:00:00:00:00:00 MAC adress with the one from this "Master".
  • The Master PC has a full read/write access to the NFS, Network File System.
  • Connect only the ethernet adapter that will be connected to the LAN. It will be named eth0 and this is important as the network setup is static.
  • Boot the Pandora. Once you see the Xfce desktop, SOLEIL is ready.
  • If you have a two adapter setup, shut down the OP, plug the internet-side adapter (will be eth1), and boot again.
  • If you made a mistake with the ethernet names/order, edit /etc/udev/rules.d/70-persistent-net.rules .

Wi-Fi gateway

  • If you plan to redistribute Internet gathered by the Pandora's wlan0, you'll have to make a few changes:
  • edit /etc/rc.d/rc.SOLEIL and change
sh /etc/rc.d/rc.firewall.eth1.eth0 start

into

sh /etc/rc.d/rc.firewall.wlan0.eth0 start
  • Reboot, then in order to get an IP on wlan0, activate Wi-Fi, then:
ifconfig wlan0 1.1.1.1
iwlist wlan0 scan
iwconfig essid "your_essid"
dhcpcd wlan0

Booting Slackware PXE for the first time

  • Once the PC is started and you're at the graphical login prompt, you can't log in because no root password is defined.
  • Use Ctrl + Alt + F2 to access a new tty, log in as:
root

then type

passwd

to, well, enter a password.

  • Note that you won't see the typed characters, also keep in mind that you're using a qwerty layout.
  • Then quit the shell with
exit
  • Finally, use Ctrl + Alt + F7 to come back to the graphical login manager, and log in.
  • You have to do this for both 32 and 64 bits versions.

Qemu network boot over USB

  • The eth0 ethernet interface is bridged with the usb0 interface, so you can boot Qemu over USB.

Installing the extra features in the minimal rootfs

  • Boot the Pandora, get internet, be root using su - , then, if you want to install GParted:
cd /etc/SOLEIL/installers
sh 4.1-x86-GPARTED.sh /
  • You can also install extras from a PC's card reader. If the SD root partition is named "SLACK" as mentioned in the SL4P wiki, and mounted under /media/ then:
sh 4.1-x86-GPARTED.sh /media/SLACK
  • Same for G4L, System Rescue CD, Dyne:bolic, OpenBSD and gc-linux
  • For the 32/64 bits Slackware installers, use this:
sh 3.3-x86-COPY-SLACK-ISOS.sh / 14.1 x86_32

or

sh 3.3-x86-COPY-SLACK-ISOS.sh / 14.1 x86_64
  • Replace / with /media/SLACK if you're on a PC with the SD in the card reader.
  • Remove downloaded isos from /etc/SOLEIL/installers/isos/ or /media/SLACK/etc/SOLEIL/installers/isos/ .
  • Reboot the Pandora.

GameCube Linux

  • After having run the SOLEIL's GameCube install script (see above), the procedure is a bit extended as it's required to prepare your Nintendo console. So you need some lecture. Here are the links:

http://www.gc-linux.org/wiki/SDload#Preparing_a_SD_card_from_GNU.2FLinux
http://www.gc-linux.org/wiki/Setting_up_GC-Linux_with_NFS
http://www.gc-linux.org/wiki/Setting_up_GC-Linux_with_NBD-root (not used, but more info)

Switch back SOLEIL to normal Slackware mode

  • It's pretty simple:
chmod -x /etc/SOLEIL/rc.d/rc.SOLEIL
chmod +x /etc/rc.d/rc.networkmanager
  • And reboot.
  • Invert the chmod's to come back to SOLEIL.

Differences with SL4P

  • There is no started network manager, all IP addresses are configured statically.
  • The previously mentioned services are running.
  • USB host is enabled by default.
  • The default kernel has more networking features, and most debug functions removed.

SOJA

  • SOJA is a self-made graphical Java program interfaced with a PostgreSQL database.
  • It helps you to fix default booted OSes according to the client's MAC address.
  • It stopped working since 14.1 OpenJDK update and is not operational out of the box.
  • Oracle JDK is needed, but I can't ship it as it's forbidden to do so (f**k you, oracle).
  • Here's the procedure to make SOJA work:

Click on download Java Platform (JDK)
Accept the license, then get jdk-*-linux-arm-vfp-sflt.tar.gz

  • Get the Slackware Java package creator:
wget http://slackware.openpandora.org/pandora/SOLEIL/soja/java.tar.gz
tar zxvf java.tar.gz
  • Copy the jdk-*-linux-arm-vfp-sflt.tar.gz inside the extracted java directory.
su -
removepkg /var/log/packages/openjdk-7u13_b20-armhfp-1
cd /path/to/the/extracted/java_dir
sh java.SlackBuild
installpkg /tmp/jdk-*-i586-1.txz
  • Note that the i586 is a mistake, ignore that.
cp /usr/share/postgresql-jdbc/postgresql-*.jar /usr/lib/java/jre/lib/ext/
cd /usr/lib/soja
javac SOJA.java
  • SOJA's icon is located in the System menu.
  • Enjoy.