Home > Linux, Operating Systems > SliTaz armhf: 46MB Linux Distribution for Raspberry Pi

SliTaz armhf: 46MB Linux Distribution for Raspberry Pi

December 15th, 2012 Leave a comment Go to comments

SliTaz armhf is a minimal Linux distribution based on SliTaz Linux, that uses the hard-float ABI for the Raspberry Pi. The compressed SD card image is 46M, the rootfs 18.6 MB, and Slitaz uses just about 7 MB RAM after boot.

Slitaz armhf rootfs comes pre-loaded with the following packages:

  • busybox 1.20.2
  • dropbear 2012.55 – Light SSH client and server.
  • nano 2.2.6 – GNU Nano Text Editor.
  • retawq 0.2.6c –  Text mode Web browser.
  • tazpkg 5.0 – SliTaz packages manager (Tiny autonomous zone packages manager).
  • ytree 1.97 – file manager for file and archives.

Slitaz armhf comes with tazpkg package manager which allows to install packages just like you would do with apt-get in Raspbian. There are over 3,300 packages available for Slitaz (x86), and for now, over 250 packages are available for Slitaz armhf.

Let’s get try it out. First, download slitaz-armhf-mini-2012-12-14.zip, extract it, and copy it to an SD card (512 MB or greater) with Win32DiskImager (Windows) or dd (Linux). Insert the SD card in the Raspberry Pi, and within a few seconds the system should boot. From power to login prompt, it takes about 18 seconds, and the kernel takes  3 to 5 seconds of this time.

Dropbear is not running by default, so you’ll have to start it, if you want to login via SSH:

/etc/init.d/dropbear start

To start dropbear at boot time, edit /etc/rcS.conf, and add dropbear to RUN_DAEMONS (RUN_DAEMONS=”dropbear”).

Now let’s check the kernel version, as well as disk and memory usage.

Slitaz kernel version, SD card and RAM usage in Raspberry Pi

Let’s now try a few command with tazpkg, Slitaz package manager .

To list installed packages:

tazpkg list

List of all installed packages
================================================================================
busybox                 1.20.2            base-system
dialog                  1.1-20110707      base-system
dropbear                2012.55           security
...
ytree                   1.97              utilities
zlib                    1.2.7             base-system
================================================================================
18 packages installed

To list packages on the mirror:

tazpkg list-mirror

Finally to install a package (e.g. file utility):

tazpkg get-install file

More commands and option are available on tazpkg manpage.

Although Slitaz (x86) is based on LXDE and Openbox, LXDE can’t be installed in Slitaz armhf with tazpkg as the required packages have not been built. However, if some packages are missing,  you can always build them yourself using Slitaz Cookutils. There are 2 main components in Cookutils:

  • Cook lets you compile and create a package, provide a log file and check the receipt/package quality.
  • The Cooker is a build bot with more automation and can be used as a frontend to cook since it provides a CGI/web interface which lets you view cook logs in a nice and colored way.

To get started, you’ll first need to checkout Slitaz Developers Tools and the Cookutils from mercurial repositories:

sudo apt-get install mercurial
hg clone http://hg.slitaz.org/slitaz-dev-tools
hg clone http://hg.slitaz.org/cookutils

For Slitaz armhf, you’ll also need to install Slitaz armhf toolchain, or build it yourself. Alanyih, the developer behind Slitaz arm port, also posted further “instructions” on Slitaz forums.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. onebir
    December 15th, 2012 at 18:23 | #1

    “openwrt is said to has a 3.3MB memory footprint, but Slitaz armhf comes with tazpkg package manager which allows to install packages just like you would do with apt-get in Raspbian.”
    OpenWrt has a package manager too – opkg. It’s quite flexible (eg you can install packages to a USB disk, if your router or whatever has one). I’m not sure how the variety of packages in the repo compares tho, given OpenWrt’s target devices.

  2. December 15th, 2012 at 18:28 | #2

    @onebir
    OK, I’ve removed that part, since I’m not sure how to rephrase it, and it was a massive mistake… There are 2,000 package for openwrt. I can’t find info about the armhf packages however.

  3. December 15th, 2012 at 18:36 | #3

    @onebir
    OK. it looks like that are no bcm2708 packages: http://downloads.openwrt.org/snapshots/trunk/, so opkg might not work with openwrt Raspberry Pi yet, or maybe never:
    http://code.google.com/p/raspberrypi-openwrt/issues/detail?id=3

  4. onebir
    December 15th, 2012 at 19:24 | #4

    @cnxsoft
    Ah – well that’s a good point. I’ve only used OpenWrt on a WR703N (& that only a little bit), so I didn’t know that…

  5. Albert
    December 15th, 2012 at 19:46 | #5

    I really hate “Read more” links. Please, show full posts on the home page!

  6. TheCageybee
    December 15th, 2012 at 20:23 | #6

    @Albert +1.
    Preferred the old style.
    Are you trying to save bandwidth?

  7. December 15th, 2012 at 20:43 | #7

    @Albert
    @TheCageybee
    Sorry, maybe I’ll just do that temporary (i.e. one week).
    I have problem to have Google index my posts in a timely manner, and I’ve tried many things already. I can see my website does not load very fast, and since the main page is the most viewed page, I’ve change it to speed up loading to see if that affects anything.

    I’ve also noticed when people copy my posts to the site, they may rank better than the original cnxsoft article in google… So I’m trying diverse things to improve the situation.

  8. December 15th, 2012 at 20:45 | #8
  9. Albert
    December 15th, 2012 at 21:42 | #9

    @cnxsoft

    Install a sitemap plugin for WP and register on Google Analytics to see what you can improve.

  10. December 15th, 2012 at 22:00 | #10

    @Albert
    Thanks I’ve done all that, and more. I still don’t know what the problem is, and I’ve had this problem for many months.

  11. lwill
    December 15th, 2012 at 23:48 | #11

    I got this from my hosting company:

    Recently, we have noticed something strange. It turns out that some WordPress hosting sites are not being indexed by search engines. This applies only to recently launched websites running the latest stable WordPress release – 3.4.2.

    As it turns out, WordPress 3.4.2, by default, asks search engines not to index your website. To change this, log in to the WordPress admin area, go to Settings -> Privacy, select “Allow search engines to index this site” and click the Save Changes button. After this, your website will be visible to search engines.

    Again, this concerns only websites running the most recent WordPress version – 3.4.2. If you have updated from an older version, you will not have this problem, since the “Allow search engines to index this site” option is enabled by default in the previous WordPress versions.

    Have you updated lately?

  12. December 16th, 2012 at 05:33 | #12

    You really need to take a look at your SEO.
    1) Change your perma links to custom and use (/%postname%/)
    2) Use a plugin “WordPress SEO” from Joost de Valk (improves google readability and ranking)
    3) Use the plugin “SEO smart links” (improves internal links automatically)

  13. December 16th, 2012 at 08:57 | #13

    @lwill
    Thanks I don’t think I have problems with being indexed, but it’s just much slower than last year.

    @Peter Steenbergen
    Do you mean you don’t see permalinks when you access my site?
    I’ll try the SEO plugins in a week or so. I make changes one step at a time and see the effects.
    The main problem with other sites showing before mine, is mostly probably because of the slow indexing.
    When I publish a post, I can see Google Bot visits my post within a few seconds, but it will only show up several hours later in the search results, whereas last year, it would show within a few minutes.

    Google makes change all the time, so it’s somewhat difficult to follow and understand what needs to be done, e.g. I suddenly got a 50% drop in Google search traffic after an update on the 16th of November.

  14. December 16th, 2012 at 18:27 | #14

    @cnxsoft
    I do see permalinks, but they consists of the year/month/day/ format which google doesn’t like.

    Secondly, sudden drops is most likely because of google changing stuff, not you. SEO is the keyword. Get the proper plugins and write the article with SEO in mind. (keyword density, placement amd such)

  15. mornwrt
    February 10th, 2013 at 02:10 | #15

    @cnxsoft

    Raspberry pi + openwrt works fine
    best distribution ever but you have to build you one image with the buildroot env…. than it will work !
    Its to fast for sf its hf!
    We need to port rpi-update to openwrt would be great;-)

  16. February 10th, 2013 at 10:08 | #16

    @mornwrt
    Or you can release the binary somewhere :)
    I suppose there’s no image yet because it’s alpha.

  17. Paco
    March 7th, 2013 at 13:58 | #17

    Good job! Thanks for your work. The slitaz image boots fast and is really small.

    To put it on a 256MB SD-Card: I first copied it to bigger card (dd), resized it there (gparted) and copied back to my computer giving be a smaller image.

    What is the easiest solution to get the GPIO-pins running? There is http://code.google.com/p/raspberry-gpio-python/, but the precompiled binaries are for raspian.

  18. March 7th, 2013 at 14:31 | #18

    @Paco
    Since raspberry-gpio-python C source is available, you’d just need to build it.

  19. alanyih
    March 23rd, 2013 at 14:06 | #19

    cnxsoft :
    @Paco
    Since raspberry-gpio-python C source is available, you’d just need to build it.

    ImportError: No module named zlib

    1. python-pip
    help> modules pip

    Here is a list of matching modules. Enter any module name to get more help.

    pipes – Conversion pipeline templates.
    popen2 – Spawn a command with pipes to its stdin, stdout, and optionally stderr.
    test.test_pipes
    pip

    help> pip
    problem in pip – : No module named zlib

    2. pip
    $ pip –help
    Traceback (most recent call last):
    File “/usr/bin/pip”, line 8, in
    load_entry_point(‘pip==1.2.1′, ‘console_scripts’, ‘pip’)()
    File “/usr/lib/python2.7/site-packages/pkg_resources.py”, line 318, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
    File “/usr/lib/python2.7/site-packages/pkg_resources.py”, line 2221, in load_entry_point
    return ep.load()
    File “/usr/lib/python2.7/site-packages/pkg_resources.py”, line 1954, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
    File “/usr/lib/python2.7/site-packages/pip/__init__.py”, line 14, in
    from pip.vcs import git, mercurial, subversion, bazaar # noqa
    File “/usr/lib/python2.7/site-packages/pip/vcs/subversion.py”, line 5, in
    from pip.index import Link
    File “/usr/lib/python2.7/site-packages/pip/index.py”, line 6, in
    import gzip
    File “/usr/lib/python2.7/gzip.py”, line 9, in
    import zlib
    ImportError: No module named zlib

    3. recompile python-armhf
    [..]
    Python build finished, but the necessary bits to build these modules were not found:
    _bsddb _curses _curses_panel
    _sqlite3 _ssl _tkinter
    bsddb185 bz2 dbm
    dl gdbm nis
    readline sunaudiodev zlib
    To find the necessary bits, look in setup.py in detect_modules() for the module’s name.

  1. May 18th, 2014 at 21:30 | #1
  2. July 23rd, 2014 at 13:05 | #2