17

November
2017

Wifi in Slax

Apparently I forgot to include some wifi support in Slax. I don't have any device with wifi here at the moment, so I can't test, but there should be few things to consider. First of all, you will probably need some firmware for your wifi adapter. I'm not sure which packages to install, some of them may not be in official debian repository. Hopefully somebody in the comments will suggest something. Second, you will probably need some software to manage your wifi connections. Some people suggested wpa_supplicant, this can be installed with apt install wpasupplicant. This is a commandline utility, as far as I can tell. If you are looking for a GUI to configure your wifi network, you may try

apt install network-manager-gnome
nm-applet &

Or better (half download, only 50MB):

apt install wicd
wicd-gtk -t &

This will put an icon in system tray, which you can use to access network settings using GUI.

Hope this helps a bit.

16

November
2017

Proper release announcement

After several years of inactivity Slax project has been brought to life again in new version 9.2.1. For those who did not hear about it yet, Slax is a little distribution of GNU/Linux (in 200 MB), which runs on your computer without installing, and makes no changes to it (unless you tell it to do so).

This time, Slax uses Debian stretch as its base, and thus it can offer all the wonders of the mighty 'apt' command. If you are missing any software in Slax, use 'apt install SOFTWARENAME' to get it in an instant. I've decided to go for Debian because it made my life much easier and I believe that it will make yours too.

Graphical desktop uses FluxBox window manager and xLunch, which was written especially for Slax and with Slax needs in mind. Furthermore the development of xLunch continues independently.

There are only few applications included, Chromium is used as a web browser and video player, and there is also leafpad and calculator, just for the sake of completeness :]

You can consider Slax as a simple and minimalistic base Linux system, which you can carry in your pocket.

16

November
2017

Slax 9 has been released

I am happy to announce that after a month of development, the next generation Slax Linux has been released. Proper release announcement will follow in few hours, I'm kinda busy at the moment :)

14

November
2017

Tray icon for shutdown

FluxBox is somehow limited in the way how to customize its look. No icons on desktop, no shutdown buttons... So I hired a programmer who wrote the best application on the world - SysTray Icon Launcher. It is like 50 lines of code, and what it does is pretty simple. Put an icon to system tray and execute a command when it is clicked. Thanks to it, we now have an awesome power button in about 20KB or so :) Hell I love this wallpaper, all screenshots are so cool!

14

November
2017

Applications included in Slax

I am finishing last few bits of the next gen Slax release. I think the biggest difference for the end user will be lack of applications. People were probably used to a rich collection of apps in Slax, including GUI file manager, video player, instant messaging program, card games, remote desktop app, more card games, ... :-) None of this will be included in the next Slax release. I may prepare, in the future, a bigger and more feature rich version, but for now, i am sticking with the only necessary software: xterm and web browser (chromium).

There is also leafpad as text editor and qalculate as a calculator, those apps were like 200KB in total, so I added them. But other than that, only browser and terminal. I believe that everything (and I mean really EVERYTHING) is moving to the web. In most cases, web browser is the only software you need nowadays for various tasks. Spreadsheeds? online. Video player? Online. And thanks to apt-get (now included in Slax), most of the available software is online as well.

So for now, four icons will be fully sufficient.

10

November
2017

Slax screenshots

Here are some first Slax screenshots. The wallpaper was created specially for Slax.

Empty desktop:

Running some programs:

Logout dialog:

10

November
2017

Clean shutdown with systemd

Warning, technical post, for advanced users and developers only :) (and for me, because I will surely forget this soon)

If you were used to access files in /mnt/live/* in Slax, then you will have to change your habits (and scripts) because that is now available in a different path: /run/initramfs/* ... Explanation why this change was necessary follows.

When Slax was based on Slackware, I had to manually patch the rc scripts for shutdown, to return control back to initramfs which could safely unmount all devices and reboot. But after changing to Debian base, there are no such rc scripts (due to systemd). Systemd has some hardcoded logic on what it tries to unmount. I had to digg into systemd source codes to find out what it actually does during reboot, and I was happy to find a solution.

Previous Slax puts the initramfs-root-filesystem in /mnt/live/ by calling pivot_root. But systemd has no idea this directory is special, and it tries to unmount it (including all submounts) on shutdown, making Debian report lots of red warnings. As it shows up, there is no possibility to exclude certain mountpoints from unmounting when the system is ending, however systemd has several exclude-paths hardcoded. It is / (root directory, obviously), /run/initramfs and /usr. So, instead of pivoting the root to /mnt/live, I had to modify linux-live-kit to pivot into /run/initramfs, in order for all systemd-based distros to ignore unmounting of initrd-based mounts, resulting in shutdown without errors. In order to unmount those properly, systemd executes /run/initramfs/shutdown.

One problem appeared immediately - Debian overmounts /run on boot with tmpfs, which made the /run/initramfs inaccessible (even mount --bind /run /somewhere couldn't help). So I had to make a little change in the initial startup - mount the 'run/' directory first with tmpfs, then create run/initramfs/, and then pivot root. Debian recognizes that /run is areadly mounted and doesn't overmount it again, leaving /run/initramfs accessible. Bingo.

07

November
2017

Slax and systemd

During the past days I've received lots of feedback for the upcoming release of Slax, by email, blog, and other channels. Some of the users welcome Debian, some of them hate it, some don't care :) I think I've explained my reasons why I choosed Debian in my previous post, so I won't repeat that here. But some users are concerned about systemd and would like to know my views of it. So I'd like to mention few things here.

To understand it better, we need to look at how your computer starts. When your computer is turned on, it checks bootable disks or CDs and loads a 'bootloader' first. This is a little software, which is located on your hard drive's first sector, and once executed, its only purpose is to find Linux kernel, load it to memory and execute it (plus pass some parameters to it).

Linux kernel is much bigger binary, it is the core of evey Linux system. After Linux kernel is loaded and executed, it takes over your computer, and provides functions for all of your software to interact with your computer's hardware.

Once the kernel initializes everything and is ready to manage everything, it calls the init. In Slax, things are more complicated due to another added layer, but lets ignore this now. So kernel finds the 'init' file on your disk, usually in /sbin/init, and executes it. So, init is the first process which gets always executed, and which takes care of the rest of the boot procedure.

This init may have different forms. It may be a simple statically compiled program, which does not require any other libraries, and which goes through /etc/rc.d/ directory and runs all scripts stored there sequentially, to perform some initial tasks (like mounting partitions, starting daemons, etc.) before you get your login prompt. The init may be also a more complicated program, which does something more advanced. Or, the init can do a hell a lot of complicated stuff, as like in the case of systemd, in order to provide some "advanced functionality", before the login prompt is displayed to the user. Systemd is not a single binary to execute, it depends on functionality provided by additional libraries such as dbus, pam, notify, and lots of others.

From my point of view in Slax, I don't really need to know what kind of init is used at all. Slax adds a layer in between the kernel and the distribution (be it Debian or Slackware or anything else) to provide a way to run Linux from a read-only media as like as it was writable. After this layer is set up, then the init of the underlaying distro is executed and continues normally, and it doesn't matter for Slax what the init is or does.

To sum it up, I don't really care if the init is systemd or something else. It does not affect me at all.

I am not sure what is the most important concern of some users who do not like systemd. I believe that there are two factors. First may be the complexity of systemd, which surely makes it hard to maintain its code, and goes against the phylosophy of Linux in general (kiss = keep it simple, stupid). By the way, is this really the phylosophy of Linux? :) Anyway, the other factor may be that the adoption of systemd seemed like it was forced to the end users, because once your distro uses systemd, lots of things start depending on it and there is really big problem for package maintainers, they would have to release many packages twice - once for systemd-enabled systems, and once for non-systemd ones, so it is easier for them to stick just with systemd and ignore the rest, which leaves no possibility for the end users to switch to different init they like.

I may agree with these arguments, but as long as somebody else prepares things up for me (by packaging it), and as long as it works and makes my life easier, I am not affected by that (as a developer of Slax!) in any negative way. And I believe that the end users of Slax are even less affected by systemd. I didn't notice any single place where systemd would affect the end user's experience (expect the fact that the system boots up faster). So after all, I don't mind using systemd in Slax. I am not pro- or against- it, my position is best described as neutral :-)

If you have faced any issues as the end user, I welcome your comments. Thank you!

03

November
2017

New Slax is comming

It has been long time ago when I released latest Slax version. The time has come to ressurect the project again. Why? Just for the fun :)

The main decision I had to make is to abandon Slackware. Yes it's true, next Slax is not going to be based on Slackware. Sorry Slack fans. The reason is simple: lazyness. I am too lazy, reall, really lazy. When I prepared Slax from Slackware, I had to patch kernel with aufs, configure, recompile, etc. etc. Then compile other software from sources, fight dependencies, and so on. I enjoyed doing that in the past, but now I'm not in the mood anymore. So, I've selected a different base for Slax. And it is, prepare youself, hold on, hold on, ... Debian.

I had to learn few new things with Debian, but other than that, it is the same as Slackware. I mean, all Linux distros are the same anyway, ... it's all Linux. Debian has the advantage of 'apt-get install aufs-dkms'. This simple command helps me add aufs to the kernel in an instant, and it's the main reason why I selected Debian. Another good reason is the database of packages for Debian, there is hell a lot of them.

So what is it going to look like? When is it going to be released? Well, I have it almost ready! :) I'm going to use fluxbox for window manager, compton for compositing (fading effects, transparency), xlunch as app launcher, xterm for terminal and chromium as web browser. That's it. All of this in a 800 KB download ISO image. Yes, you read it right, 800 KB, that's true, I'm not kidding :-) Standard ISO size is going to be like 210 MB, but there will be also a ~800 KB version which will simply boot everything over network. It will mount the big iso from web and download only the parts which are actually accessed. It can also work peer to peer, so all slax users who boot from network may connect to others to get Slax data (verified by checksum using official server).

If I am in the mood, I will maybe prepare a 1 GB version with some software collection. But at the moment I don't feel that's necessary, you can simply add anything you want using 'apt-get install' (and make a permanent module using 'savechanges' script), and there is no need for many software applications nowadays, since everything is moving to the web.

You'll probably want to see some amazing screenshots. Well, can't show you any yet, since I don't have the most important part for Slax - the right wallpaper ;-) As soon as I select one, I'll show you. Next Slax should be available in about a week or two.

More news to come ... :) Stay tuned, and take care.

10

December
2016

Application launcher for X under 25KB

I've developed my first program for X. It's called xlunch, and it's a Graphical app launcher, using pure Xlib and Imlib2. It allows you to run a program by clicking its icon. Alternatively you can just type any command using your keyboard. UTF8 is supported. The Run commandline also works as a filter for the icons, as long as the title or command matches, icon is visible.

Size after compiling is 25KB. This is the first step for the next minimalistic Slax, if that ever happens :)

I will be happy if you try it and possibly let me know what you think about it, bug fixes or patches in general are very welcome. I have already few ideas how to improve it, which I have covered in github's issues. Feel free to submit your own issue, feature request, or comment.

Project page: http://xlunch.org/

Thank you!
And here is a screenshot: