Difference between revisions of "Software projects/OS/SOLEIL"

From Pandora Wiki
Jump to: navigation, search
m (new boards links)
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= Disclaimer =
 
= Disclaimer =
 
* Same as [http://pandorawiki.org/Software_projects/OS/Slackware#Disclaimer here.]
 
* Same as [http://pandorawiki.org/Software_projects/OS/Slackware#Disclaimer here.]
* The release thread is located here: http://boards.openpandora.org/index.php/topic/10894-application-soleil/
+
* The 14.1 release thread is located here: https://pyra-handheld.com/boards/threads/sl4p-14-1-soleil-14-1-soja-significant-improvement.73230/
 +
* The 14.0 release (unsupported) thread is located here: https://pyra-handheld.com/boards/threads/application-soleil.69147/
 
* The build system is GPL V3.
 
* The build system is GPL V3.
  
Line 9: Line 10:
 
= What is SOLEIL ? =
 
= What is SOLEIL ? =
 
* In french, Soleil means Sun.
 
* In french, Soleil means Sun.
* SOLEIL is a Slackware operating system.
+
* SOLEIL is a Slackware-based operating system.
* The Pandora version of SOLEIL is based on SL4P, Slackware for Pandora, itself based on Slackware ARM.
+
* The Pandora version of SOLEIL is based on [http://pandorawiki.org/Slackware SL4P], Slackware for Pandora, itself based on Slackware ARM.
  
 
= Ok, but what is SOLEIL ?!!? =
 
= Ok, but what is SOLEIL ?!!? =
Line 19: Line 20:
 
** a NFS server
 
** a NFS server
 
** a Inetd server
 
** a Inetd server
** a distcc server, networked distributed compilation system for faster ARM compilations
+
** 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. Currently supported are:
+
** 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
 
*** Dyne:bolic, a Linux home studio for making music
 
*** System Rescue CD, a Gentoo-based Linux to repair filesystems, recover data etc.
 
*** 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.
 
*** 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
 
*** 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
 
*** MemTest, different versions of a RAM testing tool
 
*** Hardware Detection Tool, for quickly make an inventory of the booted PC's hardware
 
*** Hardware Detection Tool, for quickly make an inventory of the booted PC's hardware
Line 32: Line 36:
  
 
= Media choice =
 
= Media choice =
* SOLEIL runs on a SD card. 32G or more are recommended if you plan to install all features. A minimal install may run on 8G although no size plan is clearly defined for now.
+
* SOLEIL runs on a SD card. 32G or more are recommended if you plan to install all features. A minimal install will run on 16G although no minimum size plan is clearly defined for now.
 
* The SD card must support Linux filesystems, see [http://pandorawiki.org/SD_compatibility_list this SD compatibility chart].
 
* The SD card must support Linux filesystems, see [http://pandorawiki.org/SD_compatibility_list this SD compatibility chart].
* I myself recommend the [http://www.sandisk.com/products/memory-cards/sd/ SanDisk Extreme or Extreme Pro cards].
+
* I myself recommend the [http://www.sandisk.com/products/memory-cards/sd/ SanDisk Extreme, Extreme PLUS or Extreme Pro cards].
  
 
= Accessories choice =
 
= Accessories choice =
 
* Although there's ways to do without, you'll need one or two USB to Ethernet adapters.
 
* Although there's ways to do without, you'll need one or two USB to Ethernet adapters.
* I myself recommend those twos. They can be connected to each other without the need of an external power supply:
+
* I myself recommend those (2013). They can be connected to each other without the need of an external power supply:
 
** For letting USB host ports available - http://www.logitec.co.jp/products/lan/lantxu2h3/index.php
 
** For letting USB host ports available - http://www.logitec.co.jp/products/lan/lantxu2h3/index.php
 
** For Gigabit ethernet at the lowest current drain - http://www.trendnet.com/products/proddetail.asp?prod=275_TU2-ETG
 
** For Gigabit ethernet at the lowest current drain - http://www.trendnet.com/products/proddetail.asp?prod=275_TU2-ETG
 +
* As far as I know, most adapters will work
  
 
= Installation =
 
= Installation =
 
* Follow the SL4P procedure: http://pandorawiki.org/Software_projects/OS/Slackware#Installation
 
* Follow the SL4P procedure: http://pandorawiki.org/Software_projects/OS/Slackware#Installation
* Instead of grabbing the SL4P release, get SOLEIL rootfs here: http://slackware.openpandora.org/pandora/index.php?dir=SOLEIL%2FSOLEIL-14.0%2Frootfs
+
* Instead of grabbing the SL4P release, get SOLEIL rootfs here: http://slackware.openpandora.org/pandora/index.php?dir=SOLEIL%2FSOLEIL-14.1%2Frootfs
 +
* Older releases (unsupported): http://slackware.openpandora.org/pandora/index.php?dir=SOLEIL%2FSOLEIL-14.0%2Frootfs
  
 
= Rootfs versions =
 
= Rootfs versions =
 
* There's two rootfs, minimal and maximal.
 
* There's two rootfs, minimal and maximal.
* Minimal (16G SD card) only contains a 32 bit Slackware PXE, and all extra features can be installed (at the exception of the 64 bit PXE) as long as you have internet. Be careful to use a 32G SD card if you want to install extra features.
+
* 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.
 
* Maximal (32G SD card) contains all features.
  
Line 57: Line 64:
 
* Boot the Pandora. Once you see the Xfce desktop, SOLEIL is ready.
 
* 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 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, edit /etc/udev/rules.d/70-persistent-net.rules .
+
* If you made a mistake with the ethernet names/order, edit /etc/udev/rules.d/70-persistent-net.rules .
  
 
= Wi-Fi gateway =
 
= Wi-Fi gateway =
Line 63: Line 70:
 
* edit /etc/rc.d/rc.SOLEIL and change
 
* edit /etc/rc.d/rc.SOLEIL and change
 
  sh /etc/rc.d/rc.firewall.eth1.eth0 start
 
  sh /etc/rc.d/rc.firewall.eth1.eth0 start
* into  
+
into  
 
  sh /etc/rc.d/rc.firewall.wlan0.eth0 start
 
  sh /etc/rc.d/rc.firewall.wlan0.eth0 start
 
* Reboot, then in order to get an IP on wlan0, activate Wi-Fi, then:
 
* Reboot, then in order to get an IP on wlan0, activate Wi-Fi, then:
Line 70: Line 77:
 
  iwconfig essid "your_essid"
 
  iwconfig essid "your_essid"
 
  dhcpcd wlan0
 
  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 =
 
= Installing the extra features in the minimal rootfs =
* Get internet, be root using su - , then, if you want to install GParted:
+
* Boot the Pandora, get internet, be root using su - , then, if you want to install GParted:
 
  cd /etc/SOLEIL/installers
 
  cd /etc/SOLEIL/installers
  sh 4.1-x86-GPARTED.sh
+
  sh 4.1-x86-GPARTED.sh /
* Same for G4L, System Rescue CD and Dyne:bolic
+
* 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:
* There is no way to install the Slackware 64 bit PXE filesystem for now
+
sh 4.1-x86-GPARTED.sh /media/SLACK
* For the Slackware installers, get the 32 and 64 bits install-dvd .isos here: http://mirrors.slackware.com/slackware-iso/ , and copy them respectively in /srv/exports/nfs/SOLEIL/installers/slackware/14.0/x86_32/iso/ and /srv/exports/nfs/SOLEIL/installers/slackware/14.0/x86_64/iso/ , then reboot the Pandora.
+
* 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:<br>
 +
http://www.gc-linux.org/wiki/SDload#Preparing_a_SD_card_from_GNU.2FLinux<br>
 +
http://www.gc-linux.org/wiki/Setting_up_GC-Linux_with_NFS<br>
 +
http://www.gc-linux.org/wiki/Setting_up_GC-Linux_with_NBD-root (not used, but more info)
 +
* SOLEIL has 10.0.0.1 as IP, so when you'll edit the kernel with the hexadecimal editor, replace the default server IP with 010.000.000.001 .
 +
* You can also simply download the IP-ready kernel here: http://slackware.openpandora.org/pandora/index.php?dir=SOLEIL%2Fgamecube%2Fboot
  
= Switch back to normal Slackware mode =
+
= Switch back SOLEIL to normal Slackware mode =
 
* It's pretty simple:
 
* It's pretty simple:
  chmod -x /etc/rc.d/rc.SOLEIL
+
  chmod -x /etc/SOLEIL/rc.d/rc.SOLEIL
 
  chmod +x /etc/rc.d/rc.networkmanager
 
  chmod +x /etc/rc.d/rc.networkmanager
 
* And reboot.
 
* And reboot.
Line 90: Line 128:
 
* The previously mentioned services are running.
 
* The previously mentioned services are running.
 
* USB host is enabled by default.
 
* 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:
 +
 +
* Go to http://www.oracle.com/technetwork/java/javase/downloads/index.html <br>
 +
Click on download Java Platform (JDK) <br>
 +
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.
 +
 +
[[Category:Operating system]]

Latest revision as of 17:52, 16 April 2021

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.