Software projects/OS/Slackware

From Pandora Wiki
Revision as of 08:04, 12 May 2012 by Spiralofhope (talk | contribs) (Automounting a SD card or an USB drive)
Jump to: navigation, search

Disclaimer

Hi, this is Linux-SWAT.

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

SL4P is an ARMedslack overlay. ARMedslack is the official ARM Slackware port.

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 ARMedslack.
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, -current is armv5te, so -current should be a little faster and less battery-greedy.
  • I won't rebuild the 13.37 if there's no big bad bug, i'll just add important features as packages. Of course, official Slackware updates are available.
  • -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.
  • 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 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.
  • 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.
  • Note: connecting with ssh will also launch startx. You can use Ctrl+C to kill it in a very dirty way ^^.
Last minute quickfix for pnd compatibility. Log in as root, then type:
mkdir /mnt/pnd
Last minute bug: very unlikely to happen, but after login, you can be blocked at a black screen. Use pandora button + power to reboot. Working on this.

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 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. 256M users, avoid selecting it as full desktop.
  • 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

  • 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/
  • I shipped a tool named sbopkg, which does the job for you. Become root using su -, then run sbopkg, sync it and search for programs.
  • Note that Slackware does not check dependencies, so you have to get the right build orders looking here: http://slackbuilds.org/
  • 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:
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 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
  • 13.37 updates are notified here. If you need an up-to-date security, you should consider subscribing to the main Slackware mailing list. ARMedslack 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.

SL4P-specific updates

  • I provide Pandora fixes, available as Slackware archives.
  • 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

  • As i didn't succeeded to compile the Slim display 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 are 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.".
  • When going into suspend, it also kills the right nub. A reboot is necessary.
  • 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 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

  • See the Build system, right under.

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