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

From Pandora Wiki
Jump to: navigation, search
(Disclaimer)
Line 57: Line 57:
 
* To disable this feature, remove your .bash_profile, or comment the startx command in it.
 
* 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 ^^.
 
* Note: connecting with ssh will also launch startx. You can use Ctrl+C to kill it in a very dirty way ^^.
  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.
+
  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 =
 
= Basic usage =
Line 68: Line 68:
 
= Basic tools =
 
= 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.
 
* 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)
  
 
= 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 131: Line 131:
  
 
= Autologin =
 
= Autologin =
* As i didn't succeded to compile the Slim display manager, no clean auto logger is available at this time.
+
* 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.
 
* KDM works, but is too heavy. You have to edit /etc/rc.d/rc.4 in order to use it.
  
Line 188: Line 188:
 
  #modprobe ehci-hcd
 
  #modprobe ehci-hcd
 
* After that you will have type this command as root whenever you need USB support.
 
* After that you will have type this command as root whenever you need USB support.
 +
 +
= Power off =
 +
* When not in Xfce and it's user-friendly menus, be root and type:
 +
halt
 +
or
 +
reboot
  
 
= Advanced usage =
 
= Advanced usage =
Line 210: Line 216:
 
* 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.
Line 224: Line 230:
 
[[Category:Software]]
 
[[Category:Software]]
 
[[Category:Slackware]]
 
[[Category:Slackware]]
 +
[[Category:System]]

Revision as of 23:17, 18 April 2012

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.
  • If you want to help, 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 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.
  • You will be prompted to choose your desktop environment.
  • 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 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.
  • When you quit a graphical session, you go back to the console. Type startx to go graphical again.

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.
  • 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, that you don't need to download as it's 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 /path/to/the/updates/*.t?z

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 wip 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.
  • If you use the 13.37-2 or -current-1, grab the latest kernel pack from here.
  • Install it with:
su -
upgradepkg --install-new kernels-20120408-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.

  • If lsmod reports that no modules are loaded (that means, ie., no touchscreen), 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

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

More 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 whenever you need USB support.

Power off

  • When not in Xfce and it's user-friendly menus, be root and type:
halt

or

reboot

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