Software projects/OS/Slackware

From Pandora Wiki
Revision as of 09:42, 4 October 2012 by Linux-SWAT (talk | contribs) (Basic usage)
Jump to: navigation, search

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 13.37 release page is located here: http://boards.openpandora.org/index.php?/topic/7574-rebirth-competition-slackware-for-pandora-pre-release-thread/

The technical forum page is located here: http://boards.openpandora.org/index.php?/topic/1524-slackware-inside-pandora/

I'm the maintainer of this Slackware port, and you can find me here: http://boards.openpandora.org/index.php?/user/1035-linux-swat/

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

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.
  • ARMedslack stable is armv4t, 14.0 and -current are armv5te, so 14.0 and -current should be a little faster and less battery-greedy.
  • I won't rebuild the 14.0 or 13.37 if there's no big bad bug, i'll just add important features as packages. Of course, official Slackware updates are included.
  • -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.

Installation

  • Format a 8G or more SD card with the Ext2 filesystem. To make explanations clear, name it SLACK.
  • 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.
  • If you don't plan to use this partition configuration (OS followed by swap), you'll have to edit the /media/SLACK/etc/fstab after having uncompressed the rootfs.
  • Grab the latest 14.0 (stable) rootfs here.

Or

  • Grab the 13.37 (stable) rootfs here.
  • Or the latest -current (unstable) rootfs here.
  • 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.
  • 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.
  • With 13.37, when you log in as an user, the desktop environment is automatically launched. To disable this feature, remove your .bash_profile, or comment the startx command in it.
  • Another 13.37 note: connecting with ssh will also launch startx. You can use Ctrl+C to kill it in a very dirty way ^^.
Bug: very unlikely to happen, but after the startx, you can be blocked at a black screen. Use pandora button + power to reboot.

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.
  • (13.37) 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.
  • When using adduser, at some explicit point, push [up] to put this user in adequate groups.
  • To choose a window manager, type xwmconfig.
  • In some builds, i ship KDE. Avoid selecting it as full desktop on 256M Pandora.
  • (13.37) When you quit a graphical session, you go back to the console. Type startx to go graphical again.
  • To power off, or reboot your Pandora when not in Xfce and it's user-friendly menus, be root and type:
halt

or

reboot

Basic tools

  • 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

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

Installing a program with a precompiled archive

  • I compiled a lot of packages from http://slackbuilds.org/. You can find 14.0 ones here, 13.37 ones here, and -current ones here.
  • Download what you need, checking the dependencies for your version 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

About SL4P precompiled archives

  • All extra archives are compiled with sbopkg without any modification.
  • 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, you don't need to download them as they're already in the rootfs, see this.

Updates

  • For stable releases, plug the net, become root using su -, then type:
slackpkg update
slackpkg upgrade-all
  • Do not do 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
  • 14.0 updates are notified here. If you need an up-to-date security, you should consider subscribing to the main Slackware mailing list. Slackware ARM updates are generally available a bit later.
  • 13.37 updates are notified here. If you need an up-to-date security, you should consider subscribing to the main Slackware mailing list. Slackware ARM updates are generally available a bit later.
  • You can also set up a cronjob. In this case, check /etc/slackpkg/blacklist to ensure some critical packages (ie., kernel) will not be updated.
  • Slackware usually provides updates during 10+ years, but it seems it's not the case with Slackware ARM. See the news for more details.

SL4P-specific updates

  • I provide Pandora fixes, available as Slackware archives.
  • 14.0 fixes are located here.
  • 13.37 fixes are located here.
  • Grab them, become root using su -, then type:
upgradepkg --install-new /path/to/the/updates/*.t?z
  • You don't need to install those updates when using a rootfs build more recent than the update.

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, the 512M Pandora is recommended to run the full desktop.
  • Anyway, you can run any KDE application (konqueror, kwrite...) flawlessly with the 256M version.
  • Type xwmconfig to select KDE.

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.

Autologin

  • The Slim login manager, which is SL4P's default, can automatically log in an user. See /etc/slim.conf .
  • (13.37) As i didn't succeeded to compile the Slim login manager, no clean auto logger is available at this time.
  • KDM works, but is too heavy. You have to edit /etc/rc.d/rc.4 in order to use it.

PND compatibility list

Automounting a SD card or an USB drive

  • No system-wide automounter is enabled for now. It's still a work in progress and not perfect so i don't include this for now.
  • Only Xfce automounts.
  • 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.
  • 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

  • I provide kernel updates, and also a real time kernel.
  • Grab the latest kernel pack from here.
  • Install it with:
su -
upgradepkg --install-new kernels-[yyyymmdd]-arm-1.tgz
  • You don't need to install those updates when using a rootfs build more recent than the update.
  • To enable a new kernel, for example 3.2.16-szb4 or the 3.2.14-rt, boot the rootfs, then:
cd /boot
rm uImage
cp uImage-3.2.16-szb4 uImage

or:

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

And reboot.

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

And reboot again.

Firmwares - Realtek Wi-Fi USB dongles

  • The realtek Wi-Fi dongles firmwares were missing in 13.37 =< 3, and -current =< 4.
  • Grab the package here.
  • Install it with:
su -
upgradepkg --install-new realtek-firmware-0.35-1-arm.tgz

Suspend and powersaving

  • I enabled the USB support by default, therefore, as said Notaz, it "Uses around 3x more power when idle, fails to suspend properly.".
  • If you want to disable USB support at boot, be root and edit /etc/rc.d/rc.local .

Near the top, change

modprobe ehci-hcd

into a comment:

#modprobe ehci-hcd
  • After that you will have type this command as root, or click on the Xfce USB icon whenever you need USB support.

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.

Known -current glitches

  • The Network Manager seems to have a problem when trying to connect encrypted Wi-Fi. See this.

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.

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.

Ask a question/Report a bug