Slax author's Blog (RSS)
20
August2024
Updated documentation for persistent changes
I noticed that the documentation for persistent changes was outdated, so I've updated it to be more accurate. Here is a copy of the text
Persistent changes
Slax, when booted from read-only media such as CD/DVD, stores all system changes in memory only. These changes are lost upon reboot. However, when Slax is booted from writable media like a USB drive, all changes made to the operating system are saved and restored on subsequent boots.
If the writable media uses a FAT filesystem (which is common for USB flash drives), Slax saves persistent changes using a series of files stored within subfolders of the /slax/changes/
directory on your boot device. These subfolders are named sequentially (e.g., /slax/changes/1/
, /slax/changes/2/
, etc.), each representing a different saved session.
Maximum size of persistent changes on FAT filesystem is 16GB by default, and can be increased by specifying boot parameter perchsize, for example perchsize=64GB
. Once the maximum size is increased, the boot parameter does not need to be specified next time.
Storage format for changes on FAT filesystem uses DynFileFS. If the writable media uses a native Linux filesystem such as ext4, the subfolders will contain all modified files directly, without any size limitations.
To access the contents of the changes stored in any particular session on FAT fs, you can use dynfilefs
binary, which can be found in /run/initramfs/bin/
directory. This requires two mounting steps.
First, while running Slax, use the following command:
/run/initramfs/bin/@mount.dynfilefs -f /path/to/changes.dat -m /mnt mount -o loop /mnt/virtual.dat /mnt
The first command will mount the changes as a single virtual file at /mnt/virtual.dat
, which acts as a loop device with an XFS filesystem, and the second command mounts the loop device to reveal the actual files. After mounting, you can access the changed files in the /mnt directory. When you're done, remember to unmount twice — once for each mount operation — to fully unmount the changes properly.
15
October2023
Mini Commander - an experiment to create software with AI
I use Midnight Commander on daily basis and I am a big fan of it. As an experiment, I decided to try to create simple clone, which I called Mini Commander. However, I didn't write much of the code. Rather, the code was generated by Chat GPT-4 upon my instructions.
The process of creating software using ChatGPT4 is very interesting. Basically you have to guide the chatbot to do what you want, so you need to have some basic understanding of programming, but you do not need to know the syntax of the particular programming language, the chatbot can handle that for you.
If you are interested, check out Mini Commander at Github :)
10
October2023
Slax's Recent Release: A Tale of Challenges
Last week marked a significant milestone for me as I released the latest version of Slax. Slax, for those unfamiliar, is a modern, portable, small and fast Linux operating system with modular approach and outstanding design. However, like any software release, it wasn't without its challenges.
The Slackware Hiccup
In my enthusiasm to refine and optimize, I made a last-minute decision to remove the devel-tools module, which I use during preparations of Slax based on Slackware. Little did I realize that this module housed crucial libraries for the X panel (xfce4-panel). As a result, the Slackware version of Slax faced issues. It's an unfortunate example of the unforeseen consequences that can arise from even well-intentioned changes.
The Debian Dilemma
While the Slackware version had its problems, the Debian version wasn't without its own set of challenges as well. A leftover whiteout file (.wh.*) in the chromium module led to an unexpected behavior. It gave the appearance as if the entire /root/.fluxbox folder had vanished into thin air. Consequently, the default fluxbox configuration was initiated, which was not the intended outcome. For users familiar with Slax, this was a noticeable and unintended shift :)
Rising from the Challenges
Acknowledging these issues, I immediately set to work. It's essential to understand that in the world of software development, challenges are not setbacks but opportunities to refine, learn, and grow, right? :) I'm pleased to announce that both the issues have been addressed and rectified. Updated ISO files have been released to ensure users get the best experience possible.
Moreover, the Debian version of Slax has been updated to version 12.2. and the Slackware version has been updated to align with Slackware current.
In Conclusion
Releasing software is a journey filled with excitement, anticipation, challenges, and learning. The recent release of Slax was no different. I'm grateful for your feedback and patience!
As usual, enjoy the new release, which you can download from www.slax.org
04
October2023
New Slax - Key Features and Enhancements
It's my birthday today (turning 44) and I am thrilled to introduce the newest version of Slax, your only pocket operating system. This update is available for both of its bases: one that's built on Debian (version 12.1) and the other one on Slackware (version 15.0.2-current). In this blog post, we'll delve into the significant changes and improvements that this release brings to the table.
1. Enhanced Session Management for Writable Devices
One of the most notable enhancements of this release is the improved session handling, especially when running Slax from writable devices like USB drives or hard disks.
In the past, Slax didn't offer an easy method to manage multiple sessions. All modifications were simply stored in the /slax/changes directory, providing just one session in general. However, with this update, you can now maintain multiple sessions. Each session is neatly saved in its own subdirectory within /slax/changes/. At boot time, you are presented with options: you can either start a new session, resume a previous one, or select a session of your choice from a menu.
2. Adjustable storage size for sessions
For quite some time, Slax has utilized dynfilefs to store session changes. This unique auto-growing filesystem is designed to store vast amounts of data, even on non-linux filesystems like FAT32. While dynfilefs received significant performance boosts in earlier Slax versions, it still has a limitation: the maximum size of its storage must be set beforehand. By default, every new session in Slax has a 16GB size limit.
Starting today, if you need more space for a specific session, you can adjust the maximum size manually using the boot parameter perchsize=X. For instance, setting perchsize=32G would set the limit to 32GB for the current session. This way, you are no longer limited by the default maximum size. The good news is that this adjustment is a one-time process. Once set, Slax remembers the maximum size for that session, eliminating the need for reconfiguration during subsequent boots.
3. Enhanced Boot Parameter Options
Earlier Slax versions already supported special boot parameter, from=..., which enables loading of Slax data from a specified location. This could be a directory format like from=/myslax/ or even an URL to an ISO image, like from=http://domain.com/myslax.iso.
The latest release now expands on this flexibility. Users can now direct Slax to load data from a specific directory on a specified disk using from=/dev/device/path (e.g., from=/dev/sda1/slax). Alternatively, the from=ask option is supported as well, to prompt you with a menu during boot, to choose the device from which Slax should fetch its data from the list.
4. Bug Fix: Module File Deletion
A previously identified bug in Slax prevented modules from deleting files. For instance, if you removed certain filesystem files from Slax and then used the 'savechanges' command to capture these changes in a module, the deleted files would still be present after a reboot. This issue has been addressed in the new release. The technical solution involves Slax mounting and adding them to the AUFS union with the readonly+whiteouts flag. This approach ensures that erased files on a mounted aufs branch are correctly handled.
5. Improved Xorg Graphical User Interface Initialization
Last but not least, the way Slax starts the Xorg graphical user interface has been refined. While earlier versions of Slax assumed that X could initiate without a configuration file (which is true in many scenarios), there are instances where this did not work at all. To address potential issues, the new Slax version uses autoconfiguration which is built into the X server itself, to create a better configuration file. This method provides a more accurate setup than running without any config file at all. This enhancement aims to resolve the rare instances where Slax couldn't launch the graphical user interface.
In conclusion, the newest Slax release is packed with features and improvements that promise a smoother and more efficient user experience. Whether you're a long-time Slax user or just getting started, this update is sure to enhance your Slax journey.
Download Slax today, visit www.slax.org
Enjoy! :)
02
February2023
New Slax released
New version of Slax is available, and I take the opportunity to use ChatGPT to let AI generate an announcement about it. Here it is! :-)
The world of Linux distributions is constantly evolving, and I am excited to announce the release of Slax's latest versions: Slax version 15.0.1 based on Slackware-current, and Slax version 11.6.0 based on Debian 11.6. Both versions are available for both 32-bit and 64-bit processor architectures.
In this short announcement, I will take a closer look at the new features and improvements in the latest Slax versions, and why it's worth considering for your next Linux experience.
All-New Packages and DynFileFS
One of the biggest improvements in Slax 15.0.1 and 11.6.0 is the updated packages to the latest versions. This ensures that you have access to the latest software and tools, making your experience with Slax even better.
Another key feature of the new Slax versions is the use of newest DynFileFS, which implements how "persistent changes" are stored on writable media. This means that when you run Slax from an USB device, for example, all the changes you make to the system will be stored to a special file (actually, a set of 4 files) on the USB disk, making it possible to use Slax on-the-go. In the past, this feature was limited to a total size of 4GB, but with the newest DynFileFS, you can store up to 16GB of data, providing you with much better performance and capabilities.
A Guide to Help You Choose
To make the selection process easier for you, the users, I have created a guide that will help you choose the right version of Slax for your needs. There are no longer direct download links available on the website, but the simple guide will help you decide what version is best for you.
Conclusion
The new Slax versions are a step forward in the world of Linux distributions, offering improved performance and capabilities, as well as access to the latest software and tools. Whether you're a seasoned Linux user or a newcomer, Slax is definitely worth considering for your next Linux experience.
I can't wait for you to try it out and experience the power of Slax! Visit slax.org today.
ChatGPT is simply awesome, isn't it?
02
January2023
Persistent changes 10x faster in Slax
Slax is using DynFileFS for storing persistent changes if you boot from a FAT32 drive. DynFileFS is a fuse-based filesystem which I wrote 10 years ago as a quick hack, and to be honest, it was sometimes a bit slow, especially after storing several gigabytes of data.
If you noticed "changes.dat" file in Slax's /changes/ directory, this is the default storage for persistent changes, which are created by using DynFileFS.
I decided to review the code and as a result I rewrote the filesystem's internal logic completely. New DynFileFS version 3.0 is now available at github. It uses different file format on disk, so it is not backward compatible, but I believe it is worth it.
How does it work? Simply said, it provides a virtual file called "virtual.dat" after mounting it to some directory. This file can be of any specified size, like 30GB, but it does not need to pre-allocate this huge amount of disk space on mount. All changes made to this virtual file are stored in an indexed storage in a different file on disk, for example called changes.dat, and this file grows in time as your changes are made. As a result, it stores only the changes on disk, and not the free space between them.
The same effect could be achieved by using sparse file for storing changes, but unfortunately FAT32 does not support sparse files, and it is still the mostly used filesystem on USB devices.
The overhead of DynFileFS is around 2MB for each 1GB of virtual storage capacity, and each read/write operation requires only one additional seek+read in the storage file, so it is extremely fast.
I will use DynFileFS 3.0 in the next Slax release. Stay tuned. Have a nice day :)
03
August2022
Releasing Slax 15.0 (based on Slackware again after 9 years) and 11.4 (based on Debian)
I am happy to announce new Slax release based on Slackware 15! Previous Slackware-based version dates back to 2013, I am sorry for the delay :)
Slax version 11.4.0 is a new incremental update of Slax based on Debian,
Slax version 15.0.0 is now a new initial release of Slax based on Slackware again.
These Slax releases were made possible by generous supporters at Patreon. If you like to see more releases in the future or if you like to become a part of the growing community of people who are interested in supporting Slax regularly, feel free to join us there.
Both releases provide the same desktop with mostly the same installed packages.
Download at www.slax.org
Enjoy! :)
15
July2022
Slax based on Slackware 15.0
I had nothing better to do so I decided to give Slackware 15.0 a try. Slax is no more a KDE-based distro with full applications, so it shouldn't be hard to make a fluxbox-based version from Slackware, right? Well yeah :) I managed to build a working prototype.
For a limited time, it is available only for supporters at patreon.com/slax/
If you wish to test it out, feel free to join the community of supporters with any monthly plan you can afford. You can find the download link to the prototype of Slackware-based version of Slax there.
- It boots into text mode, so login as root and use 'startx' to start the X desktop.
- It supports 'slackpkg' with 'slackpkg+' plugin. This means you should be able to install software from various repositories (preconfigured is official Slackware repository and a SlackOnly repo, which contains most packages from slackbuilds.org).
- As usual with Slackware, dependencies are not tracked, this is something you need to resolve manually. Use slackpkg this way:
slackpkg update slackpkg install YOUR_DESIRED_PACKAGE
Enjoy! :)
27
March2022
Releasing Slax 11.3
I am happy to announce that an incremental update of Slax, labeled as version 11.3.0, is now available for download.
Current release updates packages to the newest versions available in latest Debian 11.3, and fixes a minor issue in application launcher.
This Slax version was made possible by generous supporters at Patreon. If you like to see more releases in the future
and you like to become a part of the growing community of people who are interested in supporting Slax regularly,
I would kindly encourage you to join us there. You will help to ensure I can continue releasing new versions and
improve Slax in the future. Your financial contribution also accelerates development of certain milestones, which
would not be possible without you. Your help is truly appreciated. Visit www.patreon.com/slax, thank you very much for becoming one of Slax's patrons!
Download links are, as usual, at www.slax.org main page
01
March2022
Releasing Slax 11.2.1
Bugfix release of Slax, labeled as version 11.2.1, is now available for download.
More info can be found in Changelog.
Download links are, as usual, at www.slax.org main page