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

From Pandora Wiki
Jump to: navigation, search
(Installation)
m (new boards links)
 
(283 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
[[File:Lead_Photo_For_Software_projects-OS-Slackware0-49411322670714386.jpg|thumbnail|Slackware logo]]
 +
 
= Disclaimer =
 
= Disclaimer =
 
Hi, this is Linux-SWAT.
 
Hi, this is Linux-SWAT.
  
Welcome to the SL4P, Slackware for Pandora, Wiki page.
+
Welcome to the SL4P, Slackware for Pandora, Wiki pages.
  
The technical forum page is located here:
+
SL4P is a Slackware ARM overlay.
http://boards.openpandora.org/index.php?/topic/1524-slackware-inside-pandora/
+
Slackware ARM is the official ARM Slackware port.<br>
 +
Slackware ARM was formerly known as ARMedslack.
  
The 13.37 release page is located here:
+
The 14.2 release forum page is located here:
http://boards.openpandora.org/index.php?/topic/7574-rebirth-competition-slackware-for-pandora-pre-release-thread/
+
https://pyra-handheld.com/boards/threads/slackware-for-pandora-14-2.80934/
 +
 
 +
The technical and -current forum page is located here:
 +
https://pyra-handheld.com/boards/threads/slackware-inside-pandora.60258/
  
 
I'm the maintainer of this Slackware port, and you can find me here:
 
I'm the maintainer of this Slackware port, and you can find me here:
http://boards.openpandora.org/index.php?/user/1035-linux-swat/
+
https://pyra-handheld.com/boards/members/linux-swat.18403/
  
SL4P is an ARMedslack overlay.
+
If you have questions, I suggest you to share it on the boards, not asking me privately.
ARMedslack is the official ARM Slackware port.
 
  
 
Important notes:
 
Important notes:
SL4P is not affiliated in any way with Slackware or ARMedslack.<br>
+
SL4P is not affiliated in any way with Slackware or Slackware ARM.<br>
 
Please DO NOT contact any of them if you have problems with it. Contact ME.
 
Please DO NOT contact any of them if you have problems with it. Contact ME.
  
SL4P is not affiliated in any way with Open Pandora gmbh or Open Pandora ltd.<br>
+
SL4P is not affiliated in any way with Open Pandora GmbH or Open Pandora Ltd.<br>
 
Please DO NOT contact any of them if you have problems with it. Contact ME.
 
Please DO NOT contact any of them if you have problems with it. Contact ME.
  
 
This software is distributed as is.
 
This software is distributed as is.
 
You are on your own responsibility when using it.
 
You are on your own responsibility when using it.
 +
 +
I distribute this documentation under the GPL 3 license.
 +
http://www.gnu.org/licenses/gpl.html
 +
 +
= Features =
 +
 +
* Full hardware support
 +
* 12 window managers, including Xfce, Minimenu and Enlightenment DR17
 +
* KDE (512M RAM recommended), installed via internet in two commands
 +
* Pnd support
 +
* PNDmanager and PNDstore support
 +
* Armhf compatibility layer
 +
* Rebuilt optimized video player (MPlayer2)
 +
* Integrated YouTube player (SMTube, no Flash plugin needed)
 +
* Rebuilt optimized audio player (XMMS)
 +
* Integrated VOIP with Linphone
 +
* Integrated office suite, with AbiWord and Gnumeric
 +
* Integrated DisplayLink support
 +
* More than 400 Pandora-optimized pre-compiled packages (hosted @ openpandora.org)
 +
* Slapt-get and gslapt for easy installation of these pre-compiled packages
 +
* An automatized package building system (sbopkg)
 +
* Three optional standard firewall configs for eth0, usb0 and wlan0
 +
* Other optional firewall configs for routing/firewalling
 +
* Kernel recompilation made easy
 +
* Updates through official Slackware repository
 +
* The SL4P build system (hosted @ openpandora.org), which can be used to port any Linux/*NIX to Open Pandora
 +
* Official OP 3.X kernel + realtime kernel
 +
* Optimized Notaz's SDL
 +
* Bsp's c64-tools for the DSP
 +
* Glshim from Lunixbochs
 +
* Gl4es and SDL2 from ptitSeb
 +
* Gcc, make, perl, python2, python3, ruby, OpenJDK, SFML, etc.
 +
 +
= Helping this project =
 +
* Please consider making a donation.
 +
* This will help the SL4P project, and also the whole Pandora community, as part of it funds pre-orders.
 +
* To do so, go to PayPal, log in and click on "Send Money". Donate to donation@openpandora.org and indicate in the PayPal comment field that you are donating for the Slackware project. Then PM me, so I will include you in my thx list ;^).
 +
 +
= Older releases Wiki pages =
 +
* To keep this front page clean for the most recent release - 14.2 -, I moved previous versions elsewhere.
 +
* The old page for the 14.1 release is located [http://pandorawiki.org/Software_projects/OS/Slackware-14.1 here.]
 +
* The old page for the 14.0 release is located [http://pandorawiki.org/Software_projects/OS/Slackware-14.0 here.]
 +
* The old page for the 13.37 release is located [http://pandorawiki.org/Software_projects/OS/Slackware-13.37 here.]
 +
 +
= OS architecture =
 +
* 14.2 is the last and final ARMv5te, little endian, software float ("soft-float", "armel"), EABI.
 +
* 14.2 has the armhf compatibility layer, therefore can run some armhf programs.
 +
* -current is ARMv7-a, little endian, hardware float ("hard-float", "armhf"), EABI, therefore not compatible with most .pnd .
  
 
= Stable or -current ? =
 
= Stable or -current ? =
 +
* Stable is for production use, ie. for work, as a server etc..
 
* -current is a work in progress. Although it's pretty usable, some things may be broken/unstable.
 
* -current is a work in progress. Although it's pretty usable, some things may be broken/unstable.
* Stable is for production use, ie. for work, as a server etc..
+
* -current rootfs may be smaller or bigger from build to build, as I can include or remove KDE, amongst other things.
* ARMedslack stable is armv4t, -current is armv5te, so -current should be a little faster and less battery-greedy.
+
* If you want to help the development, I prefer that you use -current.
* I won't rebuild the 13.37, i'll just add important features as packages. Of course, official Slackware updates are available.
+
* And finally, -current repository may be empty. It's because a new stable release is out.
 +
 
 +
= A word about SOLEIL =
 +
* [http://pandorawiki.org/SOLEIL SOLEIL] is another project of mine, based on SL4P.
 +
* It's basically the same OS from the Pandora point of view, but has some neat extended features. Feel free to take a look at it.
 +
 
 +
= A word about security =
 +
* The shipped MPlayer is optimized, but outdated, if this is a concern, you can uninstall it and use the official Slackware up-to-date version instead.
 +
* Same applies for bluez, but note that there's no working up-to-date OP-compatible working package.
 +
* See also #Firefox, Thunderbird, SeaMonkey and Java-OpenJRE/JDK updates
 +
* SL4P's Bluetooth may be vulnerable to [https://mobile.slashdot.org/story/17/09/12/2030213/blueborne-vulnerabilities-impact-over-5-billion-bluetooth-enabled-devices this exploit].
 +
 
 +
= Media choice =
 +
* SL4P runs on a SD card. It fits well on 8G, but 16G or more are recommended if you plan to install all the pre-compiled packages.
 +
* 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, Extreme PLUS, or Extreme Pro cards].
  
 
= Installation =
 
= Installation =
* Format a 8G or more SD card with the Ext2 filesystem. To make explanations clear, name it SLACK.
+
Note: if you're a Linux noob, and you're scared by this Wiki page, check [http://boards.openpandora.org/index.php?/topic/11132-tutorial-format-your-sd-card-and-install-slackware-using-only-your-pandora/#entry206993 this simple tutorial] from F_Slim. Thanks to him.<br>
* If you don't know how to format a drive, use GParted under Linux, or run their [http://sourceforge.net/projects/gparted/files/latest/download?source=files Live-CD]. Here's the [http://gparted.sourceforge.net/display-doc.php?name=help-manual manual.]
+
Note: if you are one of the last windows users, you can install SL4P using the method nicely provided by ingoreis. Check [http://boards.openpandora.org/index.php?/topic/10548-slackware14rc3-for-pandora-pretty-easy-install-for-windows-users/ this thread.]
* It's highly recommended to have a second partition formated as a swap. 256M or more is a good choice.
+
* Format a 8G or more SD card with the Ext4 filesystem. To make explanations clear, name it SLACK.
* Grab the latest 13.37 (stable) rootfs [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-13.37%2Frootfs here.]
+
* You can disable the Ext4 journal to get a better performance, with the sdc1 partition for example:
* Or the latest -current (unstable) rootfs [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-current%2Frootfs here.]
+
tune2fs -O ^has_journal /dev/sdc1
 +
* Note that Ext4 support is enabled since [http://openpandora.org/firmware/fullflash/ SuperZaxxon v1.75 firmware], so be sure to update. If you don't/can't, you can safely use Ext2 instead.
 +
* If you don't know how to format a drive, use GParted under Linux, or run their [http://sourceforge.net/projects/gparted/files/latest/download?source=files Live-CD]. Here's the [http://gparted.sourceforge.net/display-doc.php?name=help-manual manual].
 +
* It's highly recommended to have a second partition formated as a swap. 256M or more is a good choice. 512M is wiser is you plan to compile some stuff, or for server use.
 +
* If you don't plan to use this partition configuration (OS followed by swap), you'll have to edit the [http://www.tuxfiles.org/linuxhelp/fstab.html /etc/fstab] after having uncompressed the rootfs.
 +
* If you're cleaning up a previous SL4P installation for a fresh new one, proceed like this:
 +
rm -rf /media/SLACK/*
 +
rm -rf /media/SLACK/.cache/
 +
rm -rf /media/SLACK/.keepdir/
 +
rm -rf /media/SLACK/.splash/
 +
rm -rf /media/SLACK/.subversion/
 +
rm -rf /media/SLACK/.Trash-0/
 +
then unmount, fsck and sync before plugging back the card.
 +
* To do this, get the SD device name:
 +
cat /proc/mounts
 +
You will see something like:
 +
/dev/sdc1 /media/SLACK ext2
 +
* Unmount the partition:
 +
umount /media/SLACK/
 +
then check the partition with fsck
 +
fsck -y /dev/sdc1
 +
and sync:
 +
sync
 +
* Grab the latest 14.2 rootfs [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-14.2%2Frootfs here.]
 +
Or
 +
* Grab the latest -current (unstable) rootfs [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-current%2Frootfs here.] The -current repository may be empty. It's because a new stable release is out.
 +
* Plug back the SD card to remount it.
 
* Uncompress the rootfs on your SD. Be root, using su -, or sudo:
 
* Uncompress the rootfs on your SD. Be root, using su -, or sudo:
  sudo tar jxvfp myrootfs.tar.bz2 -C /media/SLACK/ --numeric-owner
+
  sudo tar jxvfp SL4P-[version]-[build].tar.bz2 -C /media/SLACK/ --numeric-owner
  
 
= First run =
 
= First run =
 
* Be sure your Pandora's clock is set. Otherwise, your filesystem will be checked.
 
* Be sure your Pandora's clock is set. Otherwise, your filesystem will be checked.
* Power down your Pandora, insert the SD card in slot 1, and power on your unit.
+
* Power down your Pandora, insert the SD card in the left slot (also called slot 1), and power on your unit.
 +
* If you're prompted to enter the root password for maintenance or to type Ctrl-D, just wait, the unit will restart and check the filesystem automatically.
 
* You will be prompted to choose a password for the root user.
 
* You will be prompted to choose a password for the root user.
* You will be prompted to create an user. At some explicit point, push up to put this user in adequate groups.
+
* You will be prompted to create an user. At some explicit point, push [up] to put this user in adequate groups.
* You will be prompted to choose your desktop environment.
+
* Then you'll be driven to the log in screen. <span style="color:#FF0000">Do not log in as the root user</span>
* When you log in as an user, the desktop environment is automatically launched.
+
Bug: very unlikely to happen, but when using startx (not the SL4P default setup), you can be blocked at a black screen.
* To disable this feature, remove your .bash_profile, or comment the startx command in it.
+
Use pandora button + power to reboot.
* Note: connecting with ssh will also launch startx. You can use Ctrl+C to kill it in a very dirty way ^^.
+
 
Last minute bug: after login, you can be blocked at a black screen. Use pandora button + power to reboot. Working on this.
+
= Autologin =
 +
* The slim login manager, which is SL4P's default, can automatically log in an user. You're asked about it at the first login. Else, edit /etc/slim.conf to change the configuration.
 +
* KDM works, but is too heavy. You have to edit /etc/rc.d/rc.4 in order to use it.
  
 
= Basic usage =
 
= Basic usage =
* In order to type commands as root, you have to type su -. You can use just su, but i don't recommend it because you won't have the full root environment.
+
* In order to type commands as root, you have to type su -. You can use just su, but I don't recommend it because you won't have the full root environment.
* In order to unmount drives or SD cards under Xfce, you have an icon in the bar. You can also manually use pumount as user.
+
* To choose a window manager, type xwmconfig.
* Power button is disabled for now, so you won't crash your system putting it in ram suspend.
+
* I ship those:
* When using adduser, at some explicit point, push up to put this user in adequate groups.
+
Xfce
 +
fluxbox
 +
blackbox
 +
WindowMaker
 +
twm
 +
9wm
 +
enlightenment17
 +
jwm
 +
minimenu
 +
openbox
 +
wmii
 +
* In some -current or -RC builds, i ship KDE. Avoid selecting it as full desktop on 256M Pandora.
 +
* To power off, or reboot your Pandora when not in Xfce and its user-friendly menus, become root with:
 +
su -
 +
and type:
 +
halt
 +
or
 +
reboot
 +
 
 +
= Setting up your timezone =
 +
* Become root and use
 +
timeconfig
 +
 
 +
= Setting up your language =
 +
* You can set your locale pretty easily. First, you have to know which languages are available, type:
 +
locale -a
 +
* Choose the one that best suits your need. I highly recommend to use the versions with .utf8 .
 +
* Then be root and edit /etc/profile.d/lang.sh .
 +
su -
 +
emacs /etc/profile.d/lang.sh
 +
* You'll have to change this variable with the one you need:
 +
export LANG=<span style="color:#FF0000">en_US.UTF-8</span>
 +
* Save the file, make sure it's executable:
 +
chmod +x /etc/profile.d/lang.sh
 +
* Reboot.
  
= Basic tools =
+
= Services started at boot =
 
* To enable or disable services at boot, become root, then type pkgtool, then go in setup -> services, check the option with space then push enter.
 
* To enable or disable services at boot, become root, then type pkgtool, then go in setup -> services, check the option with space then push enter.
* Some services are not listed here. To activate nfs server permanently, tweak /etc/exports and /etc/hosts.allow, then:
+
* Some services are not listed here. For example, to activate the NFS server permanently, tweak /etc/exports and /etc/hosts.allow, then:
 
   chmod +x /etc/rc.d/rc.nfsd
 
   chmod +x /etc/rc.d/rc.nfsd
 
   /etc/rc.d/rc.nfsd start (not needed after a reboot)
 
   /etc/rc.d/rc.nfsd start (not needed after a reboot)
* To choose a window manager, type xwmconfig.
 
  
 
= Installing a program - Tools =
 
= Installing a program - Tools =
* Slackware archives are .tgz or .txz
+
* Slackware archives are .tgz or .txz .
 
* Slackware uses three powerful tools: installpkg, removepkg and upgradepkg.
 
* Slackware uses three powerful tools: installpkg, removepkg and upgradepkg.
 
* A fourth tool named makepkg build packages from compiled sources.
 
* A fourth tool named makepkg build packages from compiled sources.
Line 72: Line 203:
 
= Installing a program from source =
 
= Installing a program from source =
 
* The cleanest way to do it is to use a SlackBuild script: http://slackbuilds.org/guidelines/
 
* The cleanest way to do it is to use a SlackBuild script: http://slackbuilds.org/guidelines/
* Many SlackBuilds for Slackware 13.37 are already available here: http://slackbuilds.org/repository/13.37/
+
* Many SlackBuilds for Slackware 14.2 are already available here: http://slackbuilds.org/repository/14.2/
* I shipped a tool named sbopkg, which does the job for you. Become root using su -, then run sbopkg.
+
* I shipped a tool named sbopkg, which does the job for you. Become root using su - , then sync it with the internet repository with:
 +
sbopkg -r
 +
* The sync may take some time. Once you've done that, run
 +
sh /root/sboflags.sh
 +
to optimize the builds for the Pandora. You have to run this script after every sync.
 +
* Then all is set up, you just have to use
 +
sbopkg
 +
and choose "Local SlackBuild" when prompted.
 +
* When the job is done, remove useless files to save disk space:
 +
rm -rf /tmp/SBo/*
 +
rm -rf /var/cache/sbopkg/*
 
* Note that Slackware does not check dependencies, so you have to get the right build orders looking here: http://slackbuilds.org/
 
* Note that Slackware does not check dependencies, so you have to get the right build orders looking here: http://slackbuilds.org/
 +
* To check if some of the dependencies are already installed in your system, look in /var/log/packages/ . For example, libgnomecanvas:
 +
ls /var/log/packages/libgnomecanvas*
 
* Also note that gnome libraries must be compiled in a certain order. I already did the job, and shipped them in the rootfs.
 
* Also note that gnome libraries must be compiled in a certain order. I already did the job, and shipped them in the rootfs.
* If you don't use a SlackBuild script, then the procedure almost always ends like:
+
* If you don't use a SlackBuild script, then the Slackware procedure almost always ends like:
 
  make install DESTDIR=/tmp/whatever/
 
  make install DESTDIR=/tmp/whatever/
 
  cd /tmp/whatever/
 
  cd /tmp/whatever/
 
  makepkg /tmp/whatever-1.0.0-arm-1.tgz
 
  makepkg /tmp/whatever-1.0.0-arm-1.tgz
 
  installpkg /tmp/whatever-1.0.0-arm-1.tgz
 
  installpkg /tmp/whatever-1.0.0-arm-1.tgz
 +
* If checking and fixing all of those pesky dependencies manually is too much of a burden for you to bear: fear not! [http://pandorawiki.org/Software_projects/OS/Slackware/Advanced_usage/Sqg Sqg] (slackbuilds queue generator) saves your day!
  
= Installing a program with a precompiled archive=
+
= Installing a program with a precompiled archive =
* I compiled a lot of packages from http://slackbuilds.org/. You can find 13.37 ones [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-13.37%2Fpackages%2Fextra here], and -current ones [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-current%2Fpackages%2Fextra here.]
+
* I compiled a lot (450+) of packages from http://slackbuilds.org/.
* Download what you need, checking the dependencies for your version here:  http://slackbuilds.org/
+
* I shipped a graphical install tool named GSlapt. Launch it with its icon, update the package list, then install what you need, checking the dependencies of your programs here:  http://slackbuilds.org/
 +
* You can also proceed manually. Find 14.2 packages [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-14.2%2Fpackages%2Fextra here], and -current ones [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-current%2Fpackages%2Fextra here.]
 +
* Download what you need, checking the dependencies of your programs here:  http://slackbuilds.org/
 
* Put all needed .tgz or .txz in a folder, go root using su -, then type:
 
* Put all needed .tgz or .txz in a folder, go root using su -, then type:
 
  installpkg /path/to/your/folder/*.t?z
 
  installpkg /path/to/your/folder/*.t?z
 +
* Please report any non-working package.
  
 
= About SL4P precompiled archives =
 
= About SL4P precompiled archives =
* All extra archives are compiled with sbopkg without any modification.
+
* All shipped and extra archives are compiled with sbopkg with Pandora-optimized flags.
 +
-DPANDORA -O2 -pipe -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC
 
* The links to the sources are located here: http://slackbuilds.org/repository/
 
* The links to the sources are located here: http://slackbuilds.org/repository/
 
* The building order is fixed in queue files, kind of build playlist.
 
* The building order is fixed in queue files, kind of build playlist.
 
* The queues are located in /var/lib/sbopkg/queues/
 
* The queues are located in /var/lib/sbopkg/queues/
* About shipped archives, that you don't need to download as it's already in the rootfs, see [http://pandorawiki.org/Software_projects/OS/Slackware/Build-system this.]
+
* About [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-14.2%2Fpackages shipped] archives (base and base-more), you don't need to download them as they're already in the rootfs, see [http://pandorawiki.org/Software_projects/OS/Slackware/Build-system this.]
 +
* Some archives won't work, like Kompozer, because it's a repackaging of x86 binaries. As I'm not yet in the process of fine-tuning, I left them for now.
 +
 
 +
= Installing KDE 4 =
 +
* Plug the net, become root using su -, then type:
 +
slackpkg update
 +
slackpkg install kde
 +
* Note that although i already slimmed down KDE configuration files for less eye-candy, a 512M Pandora is recommended to run the full desktop.
 +
* Anyway, you can run any KDE application (konqueror, kwrite...) flawlessly with the 256M version running Xfce.
 +
* Type xwmconfig to select KDE, or any other window manager.
  
 
= Updates =
 
= Updates =
* Plug the net, become root using su -, then type:
+
* You may eventually read [ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-14.2/ChangeLog.txt the Slackware ARM 14.2 changelog here]
 +
* If you need an up-to-date security, you should consider subscribing to the main [http://slackware.com/lists/ Slackware mailing list]. Slackware ARM updates are generally available a bit later.
 +
* For stable releases, plug the net, become root using su -, then type:
 
  slackpkg update
 
  slackpkg update
 
  slackpkg upgrade-all
 
  slackpkg upgrade-all
* Slackware usually provides updates during 10 years.
+
* Do not use slackpkg when using a -current. Instead, look at the [ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/ChangeLog.txt changelog], download packages from [ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-current/slackware/ here], become root using su -, then type:  
* Do not do this when using a -current. Instead, look at the [ftp://ftp.armedslack.org/armedslack/armedslack-current/ChangeLog.txt changelog], download packages from [ftp://ftp.armedslack.org/armedslack/armedslack-current/slackware/ here], become root using su -, then type:  
 
 
  upgradepkg /path/to/the/updates/*.t?z
 
  upgradepkg /path/to/the/updates/*.t?z
 +
Note that some packages like a/aaa_elflibs are not supposed to be upgraded in -current. A new rootfs is needed.
 +
 +
* You can eventually set up a cronjob. In this case, check /etc/slackpkg/blacklist to ensure some critical packages (e.g. kernel) will not be updated.
 +
* Slackware usually provides updates during 10+ years, but it seems to be less with Slackware ARM. See [http://www.armedslack.org/ the news for more details].
  
 
= SL4P-specific updates =
 
= SL4P-specific updates =
 
* I provide Pandora fixes, available as Slackware archives.
 
* I provide Pandora fixes, available as Slackware archives.
* 13.37 fixes are located [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Fsl4p-13.37%2Fpackages%2Fupdates here.]
+
* Simply use GSlapt, and update.
* Grab them, become root using su -, then type:
+
 
  upgradepkg /path/to/the/updates/*.t?z
+
= Firefox, Thunderbird, SeaMonkey and Java-OpenJRE/JDK updates =
 +
* Slackware ARM 14.2 doesn't provide anymore updates for Firefox, Thunderbird and SeaMonkey because of a build problem.
 +
* You have to download the unsupported -current archives and update them manually, using the method mentioned above.
 +
* Get them [ftp://ftp.arm.slackware.com/slackwarearm/unsupported/slackwarearm-current/packages/ here].
 +
* About Java-OpenJRE/JDK, it's not possible to update them through slackpkg because it was added on-the-fly to Slackware ARM.
 +
* Check and get the updates [ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-14.2/patches/packages/ here].
 +
* Be sure to download and update both as the jre is not included in the jdk.
 +
 
 +
= Kernel updates =
 +
* I provide kernel updates through GSlapt.
 +
* Many kernels are already available in the rootfs, like real time, or non-debug.
 +
* To know which kernel is currently running, type:
 +
uname -r
 +
* To enable a new kernel, for example 3.2.30-szfinal or the 3.2.26-rt, do:
 +
cd /boot
 +
rm uImage
 +
cp uImage-3.2.30-szfinal uImage
 +
or:
 +
cd /boot
 +
rm uImage
 +
cp uImage-3.2.26-rt uImage
 +
And reboot.
 +
* If lsmod reports that no modules are loaded (that means, eg., no touchscreen), then run as root:
 +
depmod -a
 +
And reboot again.
 +
 
 +
= Automounting a SD card or an USB drive =
 +
* No system-wide automounter is enabled for now.
 +
* Only Xfce and some other window managers do automount.
 +
* As Xfce mounts devices at insertion, if you booted with a second SD card or an USB drive plugged in, you have to click on the device icon.
 +
* If you plan to use Minimenu, you currently have to automount under Xfce, run xwmconfig, then log out to run Minimenu. This is the best method to save RAM.
 +
* You can also launch Minimenu under Xfce. Open a terminal and type:
 +
  mmwrapper -fmmenu
 +
 
 +
= USB at boot, suspend and powersaving =
 +
* Usually, you have to click on the Xfce "Toggle USB Host" icon whenever you need USB support.
 +
* I disabled the USB support by default. As said Notaz, it "Uses around 3x more power when idle, fails to suspend properly.".
 +
* If you want to enable USB host and USB networking support at boot, be root and edit /etc/rc.d/rc.local .
 +
Near the top, change
 +
#modprobe ehci-hcd
 +
into:
 +
modprobe ehci-hcd
 +
 
 +
= Fixing the endless reboot =
 +
* Be sure your Pandora's clock is set. Boot Official Pandora OS on the NAND, and check/set time.
 +
* Boot SL4P, when prompted to enter the root password for maintenance, do it, then type:
 +
fsck -y /dev/mmcblk0p1
 +
* You can do the same under Zaxxon. Note that it will be /dev/mmcblk1p1 if SL4P is on a second card.
 +
* You will be warned if the card is still mounted, so unmount it, and proceed.
 +
 
 +
= Changing the Hostname =
 +
* See [http://pandorawiki.org/Software_projects/OS/Slackware/Advanced_usage/Hostname this.]
  
= Installing KDE =
+
= Switching from 1GHz to 600MHz Pandora =
* Plug the net, become root using su -, then type:
+
* I slightly modified the clock script to split the parameters into two categories: 1Ghz and 600MHz.
slackpkg update
+
* You can safely put SL4P in any OP, and have a max OPP + max MHz settings for each as the model is recognized at boot, then clocked.
slackpkg install kde
+
* It's totally transparent, just set your parameters as usual.
* Note that although i already slimmed down KDE configuration files, the 512M Pandora is recommended to run the full desktop.
 
* Anyway, you can run any KDE application (konqueror, kwrite...) flawlessly with the 256M version.
 
  
 
= Fast boot tweak =
 
= Fast boot tweak =
Line 120: Line 331:
 
* The reboot/power off process is slowered, but the OS integrity is safe.
 
* The reboot/power off process is slowered, but the OS integrity is safe.
  
= Autologin =
+
= Bluetooth audio =
* As i didn't succeded to compile the Slim display manager, no clean auto logger is available at this time.
+
* SL4P already has everything you need. '''Don't''' even start with pulseaudio (unless you really need to)!
* KDM works, but is too heavy. You have to edit /etc/rc.d/rc.4 in order to use it.
+
 
 +
==== Proper Bluetooth configuration ====
 +
* We need to enable access to the BT protocols we want to use:
 +
* Fix '''/etc/bluetooth/audio.conf''' with:
 +
<syntaxhighlight lang="bash">
 +
[General]
 +
Enable=Source,Sink,Headset,Socket,Control
 +
</syntaxhighlight>
 +
 
 +
==== Find your BT device's MAC address ====
 +
* Enable Bluetooth on your pandora.
 +
* If the BT device manager doesn't pop up automatically, start it with:
 +
<syntaxhighlight lang="bash">
 +
blueman-manager
 +
</syntaxhighlight>
 +
* Make sure your device can be found (i.e. is not paired with another computer or mobile phone etc.)!
 +
* Search for your device and find it's MAC address.
 +
* '''Don't''' connect to/pair with your device yet!
 +
 
 +
==== Proper ALSA configuration ====
 +
* We will define a new bluetooth device and route '''all''' ALSA traffic through it.
 +
* This means your BT device will be the default ALSA output device!
 +
* Fix '''~/.asoundrc''' with your MAC address:
 +
<syntaxhighlight lang="bash">
 +
pcm.btheadset {
 +
type plug
 +
slave {
 +
pcm {
 +
type bluetooth
 +
device "[ADD MAC HERE]"
 +
profile "auto"
 +
}
 +
}
 +
 
 +
hint {
 +
show on
 +
description "BT Headset"
 +
}
 +
}
 +
 
 +
ctl.btheadset {
 +
type bluetooth
 +
}
 +
</syntaxhighlight>
 +
* Fix '''/etc/asound.conf''' with your MAC address:
 +
<syntaxhighlight lang="bash">
 +
pcm.!default {
 +
type bluetooth
 +
device "[ADD MAC HERE]"
 +
}
 +
</syntaxhighlight>
 +
* Reboot and pair with your device using the '''A2DP''' protocol.
 +
* Enjoy BT audio with your Slackware and your Pandora :)
 +
 
 +
= SGX drivers installer =
 +
* With notaz's blessing, i tweaked his SGX drivers installer to make it work both under SL4P and Zaxxon.
 +
* Get it [http://slackware.openpandora.org/pandora/index.php?dir=sl4p%2Ftools%2Fsgx_drivers_installer here.]
 +
* You can safely remove your old version.
  
 
= PND compatibility list =
 
= PND compatibility list =
 
* SL4P supports .pnd files.
 
* SL4P supports .pnd files.
* Due to 3.2 kernel and dynamically linked libraries, all .pnd are not compatible.
+
* PNDs used to be recognized automatically. It's not the case anymore, and I don't know why.
* The list is located here: http://pandorawiki.org/Software_projects/OS/Slackware/PND-compatibility-list
+
* So here's the workaround: after the insertion of your SD or USB drive, you have to push the green button near the Xfce menu.
 +
* Due to 3.2 kernel and dynamically linked libraries, not all .pnd are compatible.
 +
* If a pnd doesn't work, first thing to check is its log file in /tmp .
 +
* [[Software_projects/OS/Slackware/PND-compatibility-list|View the PND compatibility list here.]]
  
= Automounting a SD card or an USB drive =
+
= Advanced usage =
* No system-wide automounter is enabled for now. It's still a wip and not perfect so i don't include this for now.
+
* I wrote some tutorials to do interesting things.
* Only Xfce automounts.
+
* All those guides are applicable to any version of Slackware, ie. x86, x86_64, IBM mainframe, etc.  
* As Xfce mounts devices at insertion, if you booted with a second SD card or an USB drive plugged in, you have to remove, then plug back the device.
+
* Follow this [http://pandorawiki.org/Software_projects/OS/Slackware/Advanced_usage link.]
* If you plan to use Minimenu, you currently have to automount under Xfce, run xwmconfig, then log out to run Minimenu. This is the best method to save RAM.
 
* You can also launch Minimenu under Xfce. Open a terminal and type:
 
mmwrapper -fmmenu
 
  
= Booting another kernel =
+
= Sources =
* I provide kernel updates, and also a real time kernel.
 
* If you use the 13.37 or -current-1, grab the latest kernel pack from [http://slackware.openpandora.org/pandora/sl4p/sl4p-13.37/packages/index.php?dir=kernels here.]
 
* Install it with:
 
su -
 
upgradepkg --install-new kernels-20120407-1-arm.tgz
 
* If you use the latest -current-2, it's already shipped in the rootfs.
 
* To enable the new 3.2.14 or the 3.2.14-rt, boot the rootfs, then:
 
cd /boot
 
rm uImage
 
cp uImage-3.2.14 uImage
 
or:
 
cd /boot
 
rm uImage
 
cp uImage-3.2.14-rt uImage
 
  
And reboot.
+
* See the [[{{PAGENAME}}#Build system|build system]], below.
* If lsmod reports that no modules are loaded, then run as root:
 
depmod -a
 
 
 
And reboot again.
 
*You can switch back to the old slow kernel with:
 
cd /boot
 
rm uImage
 
cp uImage-3.2.1 uImage
 
 
 
= Xfce layout chooser =
 
* The icon is located in "System".
 
* I'm developing it, it's currently in beta stage.
 
* You can save your own Xfce configuration, and load others.
 
* If you want to use it, please use the save feature prior to anything else.
 
* Only one custom layout is available right now.
 
  
 
= Build system =
 
= Build system =
 
* I distribute it under the GPL 3 license.
 
* I distribute it under the GPL 3 license.
* It may look a bit messy for now (and indeed, some part have to be cleaned), but it's versatile, as i intended from the start.
+
* It may look a bit messy for now (and indeed, some part have to be cleaned), but it's versatile, as I intended from the start.
* It's mainly two bash scripts.
+
* It's mainly three bash scripts.
* You need a Pandora to run the second one.
+
* You need a Pandora to run the third one.
 
* Depending on what you comment/uncomment, you can produce an alpha build, very minimal, or a full build.
 
* Depending on what you comment/uncomment, you can produce an alpha build, very minimal, or a full build.
 
* Depending on what you edit, you can use it to port any *NIX to Open Pandora, and maintain your build very easily.
 
* Depending on what you edit, you can use it to port any *NIX to Open Pandora, and maintain your build very easily.
 
* Get it [http://pandorawiki.org/Software_projects/OS/Slackware/Build-system here], along the more detailed instructions.
 
* Get it [http://pandorawiki.org/Software_projects/OS/Slackware/Build-system here], along the more detailed instructions.
 +
 +
= FAQ =
 +
* Available [http://pandorawiki.org/Software_projects/OS/Slackware/Slackware_FAQ here.]
  
 
= Ask a question/Report a bug =
 
= Ask a question/Report a bug =
* You're welcome, and please post here: http://boards.openpandora.org/index.php?/topic/1524-slackware-inside-pandora/
+
* You're welcome to do so, and please post [http://boards.openpandora.org/index.php?/topic/1524-slackware-inside-pandora/ here] or [http://boards.openpandora.org/index.php?/topic/9797-slackware-for-pandora-140/ here.]
  
  
Line 187: Line 429:
 
[[Category:Software]]
 
[[Category:Software]]
 
[[Category:Slackware]]
 
[[Category:Slackware]]
 +
[[Category:System]]

Latest revision as of 17:48, 16 April 2021

Slackware logo

Disclaimer

Hi, this is Linux-SWAT.

Welcome to the SL4P, Slackware for Pandora, Wiki pages.

SL4P is a Slackware ARM overlay. Slackware ARM is the official ARM Slackware port.
Slackware ARM was formerly known as ARMedslack.

The 14.2 release forum page is located here: https://pyra-handheld.com/boards/threads/slackware-for-pandora-14-2.80934/

The technical and -current forum page is located here: https://pyra-handheld.com/boards/threads/slackware-inside-pandora.60258/

I'm the maintainer of this Slackware port, and you can find me here: https://pyra-handheld.com/boards/members/linux-swat.18403/

If you have questions, I suggest you to share it on the boards, not asking me privately.

Important notes: SL4P is not affiliated in any way with Slackware or Slackware ARM.
Please DO NOT contact any of them if you have problems with it. Contact ME.

SL4P is not affiliated in any way with Open Pandora GmbH or Open Pandora Ltd.
Please DO NOT contact any of them if you have problems with it. Contact ME.

This software is distributed as is. You are on your own responsibility when using it.

I distribute this documentation under the GPL 3 license. http://www.gnu.org/licenses/gpl.html

Features

  • Full hardware support
  • 12 window managers, including Xfce, Minimenu and Enlightenment DR17
  • KDE (512M RAM recommended), installed via internet in two commands
  • Pnd support
  • PNDmanager and PNDstore support
  • Armhf compatibility layer
  • Rebuilt optimized video player (MPlayer2)
  • Integrated YouTube player (SMTube, no Flash plugin needed)
  • Rebuilt optimized audio player (XMMS)
  • Integrated VOIP with Linphone
  • Integrated office suite, with AbiWord and Gnumeric
  • Integrated DisplayLink support
  • More than 400 Pandora-optimized pre-compiled packages (hosted @ openpandora.org)
  • Slapt-get and gslapt for easy installation of these pre-compiled packages
  • An automatized package building system (sbopkg)
  • Three optional standard firewall configs for eth0, usb0 and wlan0
  • Other optional firewall configs for routing/firewalling
  • Kernel recompilation made easy
  • Updates through official Slackware repository
  • The SL4P build system (hosted @ openpandora.org), which can be used to port any Linux/*NIX to Open Pandora
  • Official OP 3.X kernel + realtime kernel
  • Optimized Notaz's SDL
  • Bsp's c64-tools for the DSP
  • Glshim from Lunixbochs
  • Gl4es and SDL2 from ptitSeb
  • Gcc, make, perl, python2, python3, ruby, OpenJDK, SFML, etc.

Helping this project

  • Please consider making a donation.
  • This will help the SL4P project, and also the whole Pandora community, as part of it funds pre-orders.
  • To do so, go to PayPal, log in and click on "Send Money". Donate to donation@openpandora.org and indicate in the PayPal comment field that you are donating for the Slackware project. Then PM me, so I will include you in my thx list ;^).

Older releases Wiki pages

  • To keep this front page clean for the most recent release - 14.2 -, I moved previous versions elsewhere.
  • The old page for the 14.1 release is located here.
  • The old page for the 14.0 release is located here.
  • The old page for the 13.37 release is located here.

OS architecture

  • 14.2 is the last and final ARMv5te, little endian, software float ("soft-float", "armel"), EABI.
  • 14.2 has the armhf compatibility layer, therefore can run some armhf programs.
  • -current is ARMv7-a, little endian, hardware float ("hard-float", "armhf"), EABI, therefore not compatible with most .pnd .

Stable or -current ?

  • Stable is for production use, ie. for work, as a server etc..
  • -current is a work in progress. Although it's pretty usable, some things may be broken/unstable.
  • -current rootfs may be smaller or bigger from build to build, as I can include or remove KDE, amongst other things.
  • If you want to help the development, I prefer that you use -current.
  • And finally, -current repository may be empty. It's because a new stable release is out.

A word about SOLEIL

  • SOLEIL is another project of mine, based on SL4P.
  • It's basically the same OS from the Pandora point of view, but has some neat extended features. Feel free to take a look at it.

A word about security

  • The shipped MPlayer is optimized, but outdated, if this is a concern, you can uninstall it and use the official Slackware up-to-date version instead.
  • Same applies for bluez, but note that there's no working up-to-date OP-compatible working package.
  • See also #Firefox, Thunderbird, SeaMonkey and Java-OpenJRE/JDK updates
  • SL4P's Bluetooth may be vulnerable to this exploit.

Media choice

Installation

Note: if you're a Linux noob, and you're scared by this Wiki page, check this simple tutorial from F_Slim. Thanks to him.
Note: if you are one of the last windows users, you can install SL4P using the method nicely provided by ingoreis. Check this thread.

  • Format a 8G or more SD card with the Ext4 filesystem. To make explanations clear, name it SLACK.
  • You can disable the Ext4 journal to get a better performance, with the sdc1 partition for example:
tune2fs -O ^has_journal /dev/sdc1
  • Note that Ext4 support is enabled since SuperZaxxon v1.75 firmware, so be sure to update. If you don't/can't, you can safely use Ext2 instead.
  • If you don't know how to format a drive, use GParted under Linux, or run their Live-CD. Here's the manual.
  • It's highly recommended to have a second partition formated as a swap. 256M or more is a good choice. 512M is wiser is you plan to compile some stuff, or for server use.
  • If you don't plan to use this partition configuration (OS followed by swap), you'll have to edit the /etc/fstab after having uncompressed the rootfs.
  • If you're cleaning up a previous SL4P installation for a fresh new one, proceed like this:
rm -rf /media/SLACK/*
rm -rf /media/SLACK/.cache/
rm -rf /media/SLACK/.keepdir/
rm -rf /media/SLACK/.splash/
rm -rf /media/SLACK/.subversion/
rm -rf /media/SLACK/.Trash-0/

then unmount, fsck and sync before plugging back the card.

  • To do this, get the SD device name:
cat /proc/mounts

You will see something like:

/dev/sdc1 /media/SLACK ext2
  • Unmount the partition:
umount /media/SLACK/

then check the partition with fsck

fsck -y /dev/sdc1

and sync:

sync
  • Grab the latest 14.2 rootfs here.

Or

  • Grab the latest -current (unstable) rootfs here. The -current repository may be empty. It's because a new stable release is out.
  • Plug back the SD card to remount it.
  • Uncompress the rootfs on your SD. Be root, using su -, or sudo:
sudo tar jxvfp SL4P-[version]-[build].tar.bz2 -C /media/SLACK/ --numeric-owner

First run

  • Be sure your Pandora's clock is set. Otherwise, your filesystem will be checked.
  • Power down your Pandora, insert the SD card in the left slot (also called slot 1), and power on your unit.
  • If you're prompted to enter the root password for maintenance or to type Ctrl-D, just wait, the unit will restart and check the filesystem automatically.
  • You will be prompted to choose a password for the root user.
  • You will be prompted to create an user. At some explicit point, push [up] to put this user in adequate groups.
  • Then you'll be driven to the log in screen. Do not log in as the root user
Bug: very unlikely to happen, but when using startx (not the SL4P default setup), you can be blocked at a black screen.
Use pandora button + power to reboot.

Autologin

  • The slim login manager, which is SL4P's default, can automatically log in an user. You're asked about it at the first login. Else, edit /etc/slim.conf to change the configuration.
  • KDM works, but is too heavy. You have to edit /etc/rc.d/rc.4 in order to use it.

Basic usage

  • In order to type commands as root, you have to type su -. You can use just su, but I don't recommend it because you won't have the full root environment.
  • To choose a window manager, type xwmconfig.
  • I ship those:
Xfce
fluxbox
blackbox
WindowMaker
twm
9wm
enlightenment17
jwm
minimenu
openbox
wmii
  • In some -current or -RC builds, i ship KDE. Avoid selecting it as full desktop on 256M Pandora.
  • To power off, or reboot your Pandora when not in Xfce and its user-friendly menus, become root with:
su -

and type:

halt

or

reboot

Setting up your timezone

  • Become root and use
timeconfig

Setting up your language

  • You can set your locale pretty easily. First, you have to know which languages are available, type:
locale -a
  • Choose the one that best suits your need. I highly recommend to use the versions with .utf8 .
  • Then be root and edit /etc/profile.d/lang.sh .
su -
emacs /etc/profile.d/lang.sh
  • You'll have to change this variable with the one you need:
export LANG=en_US.UTF-8
  • Save the file, make sure it's executable:
chmod +x /etc/profile.d/lang.sh
  • Reboot.

Services started at boot

  • To enable or disable services at boot, become root, then type pkgtool, then go in setup -> services, check the option with space then push enter.
  • Some services are not listed here. For example, to activate the NFS server permanently, tweak /etc/exports and /etc/hosts.allow, then:
 chmod +x /etc/rc.d/rc.nfsd
 /etc/rc.d/rc.nfsd start (not needed after a reboot)

Installing a program - Tools

  • Slackware archives are .tgz or .txz .
  • Slackware uses three powerful tools: installpkg, removepkg and upgradepkg.
  • A fourth tool named makepkg build packages from compiled sources.

Installing a program from source

sbopkg -r
  • The sync may take some time. Once you've done that, run
sh /root/sboflags.sh

to optimize the builds for the Pandora. You have to run this script after every sync.

  • Then all is set up, you just have to use
sbopkg

and choose "Local SlackBuild" when prompted.

  • When the job is done, remove useless files to save disk space:
rm -rf /tmp/SBo/*
rm -rf /var/cache/sbopkg/*
  • Note that Slackware does not check dependencies, so you have to get the right build orders looking here: http://slackbuilds.org/
  • To check if some of the dependencies are already installed in your system, look in /var/log/packages/ . For example, libgnomecanvas:
ls /var/log/packages/libgnomecanvas*
  • Also note that gnome libraries must be compiled in a certain order. I already did the job, and shipped them in the rootfs.
  • If you don't use a SlackBuild script, then the Slackware procedure almost always ends like:
make install DESTDIR=/tmp/whatever/
cd /tmp/whatever/
makepkg /tmp/whatever-1.0.0-arm-1.tgz
installpkg /tmp/whatever-1.0.0-arm-1.tgz
  • If checking and fixing all of those pesky dependencies manually is too much of a burden for you to bear: fear not! Sqg (slackbuilds queue generator) saves your day!

Installing a program with a precompiled archive

  • I compiled a lot (450+) of packages from http://slackbuilds.org/.
  • I shipped a graphical install tool named GSlapt. Launch it with its icon, update the package list, then install what you need, checking the dependencies of your programs here: http://slackbuilds.org/
  • You can also proceed manually. Find 14.2 packages here, and -current ones here.
  • Download what you need, checking the dependencies of your programs here: http://slackbuilds.org/
  • Put all needed .tgz or .txz in a folder, go root using su -, then type:
installpkg /path/to/your/folder/*.t?z
  • Please report any non-working package.

About SL4P precompiled archives

  • All shipped and extra archives are compiled with sbopkg with Pandora-optimized flags.
-DPANDORA -O2 -pipe -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC
  • The links to the sources are located here: http://slackbuilds.org/repository/
  • The building order is fixed in queue files, kind of build playlist.
  • The queues are located in /var/lib/sbopkg/queues/
  • About shipped archives (base and base-more), you don't need to download them as they're already in the rootfs, see this.
  • Some archives won't work, like Kompozer, because it's a repackaging of x86 binaries. As I'm not yet in the process of fine-tuning, I left them for now.

Installing KDE 4

  • Plug the net, become root using su -, then type:
slackpkg update
slackpkg install kde
  • Note that although i already slimmed down KDE configuration files for less eye-candy, a 512M Pandora is recommended to run the full desktop.
  • Anyway, you can run any KDE application (konqueror, kwrite...) flawlessly with the 256M version running Xfce.
  • Type xwmconfig to select KDE, or any other window manager.

Updates

slackpkg update
slackpkg upgrade-all
  • Do not use slackpkg when using a -current. Instead, look at the changelog, download packages from here, become root using su -, then type:
upgradepkg /path/to/the/updates/*.t?z

Note that some packages like a/aaa_elflibs are not supposed to be upgraded in -current. A new rootfs is needed.

  • You can eventually set up a cronjob. In this case, check /etc/slackpkg/blacklist to ensure some critical packages (e.g. kernel) will not be updated.
  • Slackware usually provides updates during 10+ years, but it seems to be less with Slackware ARM. See the news for more details.

SL4P-specific updates

  • I provide Pandora fixes, available as Slackware archives.
  • Simply use GSlapt, and update.

Firefox, Thunderbird, SeaMonkey and Java-OpenJRE/JDK updates

  • Slackware ARM 14.2 doesn't provide anymore updates for Firefox, Thunderbird and SeaMonkey because of a build problem.
  • You have to download the unsupported -current archives and update them manually, using the method mentioned above.
  • Get them here.
  • About Java-OpenJRE/JDK, it's not possible to update them through slackpkg because it was added on-the-fly to Slackware ARM.
  • Check and get the updates here.
  • Be sure to download and update both as the jre is not included in the jdk.

Kernel updates

  • I provide kernel updates through GSlapt.
  • Many kernels are already available in the rootfs, like real time, or non-debug.
  • To know which kernel is currently running, type:
uname -r
  • To enable a new kernel, for example 3.2.30-szfinal or the 3.2.26-rt, do:
cd /boot
rm uImage
cp uImage-3.2.30-szfinal uImage

or:

cd /boot
rm uImage
cp uImage-3.2.26-rt uImage

And reboot.

  • If lsmod reports that no modules are loaded (that means, eg., no touchscreen), then run as root:
depmod -a

And reboot again.

Automounting a SD card or an USB drive

  • No system-wide automounter is enabled for now.
  • Only Xfce and some other window managers do automount.
  • As Xfce mounts devices at insertion, if you booted with a second SD card or an USB drive plugged in, you have to click on the device icon.
  • If you plan to use Minimenu, you currently have to automount under Xfce, run xwmconfig, then log out to run Minimenu. This is the best method to save RAM.
  • You can also launch Minimenu under Xfce. Open a terminal and type:
mmwrapper -fmmenu

USB at boot, suspend and powersaving

  • Usually, you have to click on the Xfce "Toggle USB Host" icon whenever you need USB support.
  • I disabled the USB support by default. As said Notaz, it "Uses around 3x more power when idle, fails to suspend properly.".
  • If you want to enable USB host and USB networking support at boot, be root and edit /etc/rc.d/rc.local .

Near the top, change

#modprobe ehci-hcd

into:

modprobe ehci-hcd

Fixing the endless reboot

  • Be sure your Pandora's clock is set. Boot Official Pandora OS on the NAND, and check/set time.
  • Boot SL4P, when prompted to enter the root password for maintenance, do it, then type:
fsck -y /dev/mmcblk0p1
  • You can do the same under Zaxxon. Note that it will be /dev/mmcblk1p1 if SL4P is on a second card.
  • You will be warned if the card is still mounted, so unmount it, and proceed.

Changing the Hostname

Switching from 1GHz to 600MHz Pandora

  • I slightly modified the clock script to split the parameters into two categories: 1Ghz and 600MHz.
  • You can safely put SL4P in any OP, and have a max OPP + max MHz settings for each as the model is recognized at boot, then clocked.
  • It's totally transparent, just set your parameters as usual.

Fast boot tweak

  • I moved some of the boot stuff (ldconfig, font cache, mime database) in /etc/rc.d/rc.local_shutdown.
  • The reboot/power off process is slowered, but the OS integrity is safe.

Bluetooth audio

  • SL4P already has everything you need. Don't even start with pulseaudio (unless you really need to)!

Proper Bluetooth configuration

  • We need to enable access to the BT protocols we want to use:
  • Fix /etc/bluetooth/audio.conf with:
[General]
Enable=Source,Sink,Headset,Socket,Control

Find your BT device's MAC address

  • Enable Bluetooth on your pandora.
  • If the BT device manager doesn't pop up automatically, start it with:
blueman-manager
  • Make sure your device can be found (i.e. is not paired with another computer or mobile phone etc.)!
  • Search for your device and find it's MAC address.
  • Don't connect to/pair with your device yet!

Proper ALSA configuration

  • We will define a new bluetooth device and route all ALSA traffic through it.
  • This means your BT device will be the default ALSA output device!
  • Fix ~/.asoundrc with your MAC address:
pcm.btheadset {
type plug
slave {
pcm {
type bluetooth
device "[ADD MAC HERE]"
profile "auto"
}
}

hint {
show on
description "BT Headset"
}
}

ctl.btheadset {
type bluetooth
}
  • Fix /etc/asound.conf with your MAC address:
pcm.!default {
type bluetooth
device "[ADD MAC HERE]"
}
  • Reboot and pair with your device using the A2DP protocol.
  • Enjoy BT audio with your Slackware and your Pandora :)

SGX drivers installer

  • With notaz's blessing, i tweaked his SGX drivers installer to make it work both under SL4P and Zaxxon.
  • Get it here.
  • You can safely remove your old version.

PND compatibility list

  • SL4P supports .pnd files.
  • PNDs used to be recognized automatically. It's not the case anymore, and I don't know why.
  • So here's the workaround: after the insertion of your SD or USB drive, you have to push the green button near the Xfce menu.
  • Due to 3.2 kernel and dynamically linked libraries, not all .pnd are compatible.
  • If a pnd doesn't work, first thing to check is its log file in /tmp .
  • View the PND compatibility list here.

Advanced usage

  • I wrote some tutorials to do interesting things.
  • All those guides are applicable to any version of Slackware, ie. x86, x86_64, IBM mainframe, etc.
  • Follow this link.

Sources

Build system

  • I distribute it under the GPL 3 license.
  • It may look a bit messy for now (and indeed, some part have to be cleaned), but it's versatile, as I intended from the start.
  • It's mainly three bash scripts.
  • You need a Pandora to run the third one.
  • Depending on what you comment/uncomment, you can produce an alpha build, very minimal, or a full build.
  • Depending on what you edit, you can use it to port any *NIX to Open Pandora, and maintain your build very easily.
  • Get it here, along the more detailed instructions.

FAQ

Ask a question/Report a bug

  • You're welcome to do so, and please post here or here.