Development > Remastering

Sparky Bonsai - a portable edition of SparkyLinux

(1/4) > >>


The latest Sparkybonsai version 2.1 is available to download in x86-64 and x86 pae/non-pae at:

--- Code ---
--- End code ---

root 0000
puppy 0000
(four zeroes)

What's new:

1.Better localization with "locales" and IPAP fonts (supporting CJK characters).
Find "Setup Locales" in the Menu-System or run:

--- Code: ---sudo dpkg-reconfigure locales
--- End code ---
Check your preferred language (recommended UTF-8 encoding) and choose it as default.

To change your keyboard layout edit ~/Startup/services file and modify the "keyboard layout" line. (i.e. to toggle between English-US and Russian using Alt+Shift):

--- Code: ---setxkbmap -model pc105 -layout us,ru -option_grp:alt_shift_toggle
--- End code ---

To configure redshift for your location, edit ~/.config/redshift.conf to modify the local dimensions (find out the absolute ones in google map or something). Edit the following (i.e. for Madrid):

--- Quote ---[manual]
--- End quote ---

Reboot and done.

2.Bluetooth support. To start blueman tray icon on next reboot edit ~/Startup/services file to un-comment "#blueman-applet &" to "blueman-applet &".
To use it with a bluetooth sound device such as a speaker/headphones, you have to redirect alsa output to bluetooth, a tricky procedure as there is no suitable packet available on Debian repositories.
An easy way is to use Pulseaudio. There is a module including pulseaudio, pavucontrol and pulseaudio bluetooth plugin in the "optional" directory (in the fat Sparkybonsai ISO). It is recommended to load it on startup (not activate it on the fly) and just redirect the sound output to your bluetooth device using pavucontrol.

3.Pre-installed Ristretto image viewer.

4.Qalculate is replaced by Galculator.

5.Pre-installed cifs-utils and nfs-common in order to access network shares, samba or nfs, out of the box.
Create a new folder as mount point:

--- Code: ---mkdir </what/ever/mountpoint>
--- End code ---
and mount your samba shares:

--- Code: ---sudo mount -t cifs -o username=<samba-username>,password=<samba-password> //<<shares/directory> </what/ever/mountpoint>
--- End code ---
or nfs:

--- Code: ---sudo mount -t nfs <>:/<shares/directory> </what/ever/mountpoint>
--- End code ---
Now browse your shares at </what/ever/mountpoint>.
If you wish to mount them on start-up, copy the mount command into ~/Startup/services file and save it.

If you wish to run a Samba/NFS server, there is a module available in the "optional" folder (in the "fat" ISO) containing both servers and some GUI configuration tools (Gadmin samba and Simple NFS). For the servers to run properly, it is strongly recommended to run the module on boot-up (not activating it on the fly).

6.Sparkybonsai uses JWM-Menumaker
--- Code ---
--- End code ---
to construct it's menu, from now on fully supporting localization. It uses files and folders of the filesystem as data, partially generated by pcmanfm installed components (pcmanfm-libfm). It can be used for JWM menu by any linux system with similar construction, no matter if uses systemd or not.

7.Synaptic package manager and apt-xapian-index pre-installed and patched.

8.DebianDog's repository is enabled by default in order to update the installed DDog tools or install some new. Debiandog however is using some AntiX packets for its main distribution, incompatible with Sparkybonsai. Double check every upgradable packet from DDog's repository. If "Antix" is mentioned in its specs then it isn't compatible with Sparkybonsai init system and you shouldn't update/install it. If updated accidentally and your system became unusable, reboot in fresh mode and manually remove your changes file or folders. All changes will be lost.

9.The "01-base.squashfs" is able to boot-up alone, without a desktop support, in order to install/configure your own desktop (or a desktopless environment if you wish) from that point. In x86-64 01-base.squashfs, Xorg is installed. In x86 versions is not, so you have to install Xorg before proceed to an X11 desktop installation.

10.Only Porteus boot mode is available. Find more about Porteus cheatcodes at:
--- Code ---
--- End code ---

11.There are 2 ways to set up a custom startup command. Include it in an (existing or new) executable flat file in ~/Startup directory or paste it in ~/.startup file. The first one runs on user login session and the second on JWM. Practically it's the same thing.

12.Some minor fixes and improvements.

Extra Modules:

In the directory "optional" of the "fat" ISO there are some extra modules to activate on demand or load them on boot-up.
To activate on demand right-click and activate the module. It takes some seconds to activate it and auto-update the menu. Deactivate same way.
Boot-up loading can be done by including in boot options (syslinux or grub) the "load=module[1];module[2]..." or simply copy the desired modules from "optional" directory to /live, where "01-base.squashfs" and "02-jwm.squashfs" are.

1.Firefox-esr and tor. To use tor you must configure it, i.e. using the "foxyproxy" add-on. This module can be activated on demand.
2.Libre Office and pdf viewer. This module can be activated on demand.
3.Fonts module with ms ttf fonts and Fontmatrix font manager. This module can be activated on demand.
4.Vlc media player. This module can be activated on demand.
5.Stremio media center for x86-64 and Popcorn-Time for x86 version (Stremio is 64bit only). These modules must be loaded on boot-up.
6.File servers including Samba/NFS servers and configuration GUIs. This module must be loaded on boot-up.
7.Pulseaudio including Pavucontrol and pulseaudio-module-bluetooth. This module must be loaded on boot-up too.

Note: Some modules are pre-configured for "puppy" or "root" user. If created and login as another user may not run properly until you copy startup files (with modules enabled) in created user's home. In any case, it is recommended to create your own modules for the new user or stuck on "puppy" user.

1.To enable tap-to-click, edge scrolling and palm detection (if supported by your hardware) on your touchpad, edit ~/Startup/services and un-comment (remove "#") in synclient commands. It will be enabled on next boot.
2.If you don't want to use redshift or battery indicator, edit ~/.startup file and comment (put a "#") or remove the commands redshift-gtk and cbatticon recursively.
3.A good practice is disabling journaling for ext4 filesystems on USB stick installations. Journaling may slow down your system running on USB sticks. There's no sense to try it on a hard disk installation (it's faster using journaling) or a non-ext4 (ie fat32) filesystem.
To disable it, unmount your (ext4 formatted) USB stick, find its /dev point (i.e. /dev/sdc1) and run:

--- Code: ---sudo tune2fs -O ^has_journal /dev/sdXx
--- End code ---

Sparkybonsai v2.0

The second release of Sparkybonsai, a live GNU/Linux distribution based on DebianDog and SparkyLinux Po-Tolo, a Bullseye Debian derivative, is avalable to download at
--- Code ---
--- End code ---

The basic iso (360MB) contains the JWM window manager, PCManFM file and desktop manager, mousepad text editor, Qalculator, Xarchiver, Lxterminal, Lxpolkit, ARandR, Redshift and DebianDog's tools.
The modules iso (910MB) contains the same system plus some extra pre-installed and configured packages:
1.Firefox with tor configured and some extra add-ons
2.Synaptic package manager with xapian index
3.Fonts pack with ms ttf fonts and Fontmatrix manager
4.Office pack with Libre Office and Qpdfview
5.Vlc media player
6.Stremio media center with many plugins installed
All modules can be activated/deactivated on demand to fit your needs and keep your resources as light as possible.
Just right-click any module included in /ive/optional and activate/deactivate it with the DebianDog's tool. To let them appear in JWM's menu, you just have to do a Session-Restart and the Sparkybonsai menumaker script will do the rest.
All applications, actions and scripts will run on user's or root mode if you prefer. Will boot by default on user's mode but you can exit the session (Session-Exit) and login as root (or other user you may create) via the Slim login manager.
Sparkybonsai was tested by greek users and the default configuration (timezone, keyboard layout) is adapted for greeks.
Hope to enjoy this floral pup* as we did. If you do, consider sending a donation to our favor Debian distribution, Sparkylinux.
--- Code ---
--- End code ---

*Sparkybonsai is not a Puppy Linux distribution as it isn't based on woof-CE.

root 0000
puppy 0000
(four zeroes)

--- Code ---
--- End code ---

--- Code ---
--- End code ---

--- Code ---
--- End code ---

Sparkybonsai v1.0 2019

Sparky Bonsai is a GNU/Linux distribution based on Debian/Sparkylinux in a portable form. Taking advantage of the experience of portable distros such as Slax, Porteus, Puppy and DebianDog, we made a remix of our favor Debian-based distro SparkyLinux. The idea was to make a portable version of the linux distro having already installed at home, in cases we can’t, don’t need or wish to install it properly.

We’ve test it in Stretch Debian version on troubleshooting and repairing other systems, booting diskless machines, checking used PCs for buying, hacking windows-locked office PCs, using machines with no traces and many more. We found it useful, we enjoyed it a lot and we decide to distribute the new Debian Buster based version.

Sparky Bonsai lives in a USB flash 4GB minimum and run with 512 MB of RAM on x86 processors. At the moment it’s only available in 64bit version. It fits on a DVD or CD optical disk and runs in ext2/3/4, fat32, xfs, exFAT file systems. In order to load it to RAM, 1GB is recommended.

It is a minimal Debian Buster file system using Debian linux kernel v. with the BusterDog’s modules for porteus boot, live-boot-3x and aufs support. Kernel updates are not available the way they are on a properly installed linux system. As you may know, BusterDog uses the Antix Linux init system. Sparky Bonsai uses systemd as pure Debian and Sparky Linux. If you don’t wish to use systemd, check the BusterDog (based on Antix) or Beowolf (based on Devuan).

Sparky Bonsai use PCmanFM as file/desktop manager and JWM as windows manager. JWM’s menu construction is based on sparkybonsai menumaker. It comes with Pale Moon as the default web browser, Mousepad as the default text editor and LXterminal as default terminal emulator. All DebianDog’s module and remaster scripts are included as well.

Synaptic package manager is present and you can install all Debian and Sparkylinux packages. The BusterDog’s repository is inactive because of some Antix packets incompatible with Debian. You can use some packets if you’re sure they are compatible but DONT update your system with this repository enabled.


Download the iso file from:
--- Code ---
--- End code ---

1. USB flash or removable Hard Disk Can be fat32 or ext2/3 formatted. Ext4 filesystem is NOT recommended for installation on removable flash media.
  1a.Extract iso files and copy /boot and /live folders at the root of your media OR burn iso on an optical disk (CD/DVD), boot it and copy those folders from /mnt/sr0 to the root of your removable media.

  1b.Open a terminal and cd to (your disk path)/boot/syslinux

  1c. Run the bash script as root (sudo) sh The Slax syslinux install script will make your media bootable ONLY for Sparky Bonsai. The script detects the location you run it, so run it ONLY into the directory of the removable media you wish to boot Sparky Bonsai.This will not format your disk, all other files will remain intact.

  1d. (Optional) Now you can manually edit the file /boot/syslinux/live.cfg and customize your boot options using the proper boot codes.

2. Alongside other Linux installation (grub boot).

  2a.Extract iso files and copy the /live folder OR burn iso on an optical disk (CD/DVD), boot it and copy /mnt/sr0/live folder at the root of your hard disk Can be formatted in any linux compatible filesystem including ext4.

  2b. Edit the file /etc/grub.d/40_custom as root and add a menu entry:

--- Code: ---sudo nano /etc/grub.d/40_custom
--- End code ---

add a menuentry with the codes you wish, ie:

--- Quote ---menuentry "SparkyBonsai Porteus Boot" {
linux /live/vmlinuz1 from=/ changes=/live
initrd /live/initrd1.xz
--- End quote ---

2c. Update grub as root

--- Code: ---sudo update-grub
--- End code ---

2d.Reboot and find the custom option on grub’s menu.

3. Network boot (pxe) is also possible using the proper boot parameters in your server’s pxelinux.cfg/default. If you wish to save changes on server, the use of nfs server is recommended. Sparky Bonsai won’t run a pxe server pre-configured (as pure Porteus do), so you have to configure it according to your server’s OS instructions.


--- Quote ---Login:
root with password: toor
puppy with password: puppy
--- End quote ---

Sparky Bonsai is an ideal portable solution for “sparkers” (sparkylinux users) and Debian users. Some useful sparky tools as APTus are not included in order to keep the filesystem lightweight. You can install anytime APTus or any other sparky tool, but it’s recommended not to do this. You can always install sparky packets straight from Synaptic or apt. As mentioned before, some sparky tools such as the kernel related ones, are not useful in Sparky Bonsai. There’s no sense also to install a heavyweight desktop environment from sparky repos. If you wish to do so, consider of installing a full version of Sparkylinux on a hard disk or even on a removable media.

Sparky Bonsai will auto-mount all available disk partitions on boot, will use the first swap formatted as swap and mount the rest under /mnt. Find the first partition of the first disk as /mnt/sda1, the first partition of the second disk as /mnt/sdb1, the first optical disk as /mnt/sr0 etc.

After a successful boot, logins automatically as user «puppy» using slim login manager and loads the desktop. So, if you prefer to login manually or auto-login another user, you have to manual edit the file /etc/slim.conf and change the lines "default_user  puppy" and  "auto_login  no" as below:

--- Code: ---sudo nano /etc/slim.conf
--- End code ---

--- Code: ---xsudo mousepad /etc/slim.conf
--- End code ---

Case 1 - To change auto-login username:
find the line containing:
default_user        puppy

and change «puppy» to the existing user you wish to auto-login.
Save the file and reboot.

Case 2 - Manual login:
Change the default username as described, if you wish,
find the line containing:
#auto_login          no

and change it to:
auto_login          no

Save the file and reboot.

Note: There’s also a useful Porteus “cheatcode” login=username for auto-login. Unfortunately, it won’t work with Sparky Bonsai or other Debian-based distros using Porteus-boot.

Puppy user is pre-configure to use sudo, open folders or edit files as root from PCmanFM, running synaptic and gparted without asking for password or running as root X-applications with «spsu» (sparky-su) and xsudo as replacements of the discontinued gksudo, for easy desktop use.

The main aim of Sparky Bonsai is the aufs support, where the filesystem contains compressed (squashfs files), non-compressed (changes directory), even encrypted (if you choose so) parts working together. There are available for download some compressed, squashfs files and you can always create your own files after installing the packets you choose. Into /live directory there are the linux kernel (vmlinuz1) files for porteus-boot (initrd1.xz) or live-boot-3x (initrd.img) modes, buster 64 signature (buster-x86_64.sgn), the base filesystem (01-filesystem.squashfs) and the porteus structure directories. Find more about it at Porteus website:

--- Code ---
--- End code ---

Those directories, so-called “magic” folders, and their contents will be ignored with the boot code “nomagic”.

The /live/changes directory contains all new uncompressed files, installed packets, configuration flat files etc stored by the system during the session. It contains even deletion data it you choose to remove files from the base filesystem. The use of /live/changes directory requires linux file system (ext2/3/4, xfs etc) formatted disk. Instead of /live/changes directory you can use a “frugal file”, a read/writable image file created by the system on demand. It will ask you at the end of your session if you want to save your changes or ignore them. This file can be encrypted, only visible by the user who created it. This .dat file can be stored in non-linux (fat32/ntfs) formatted disks.

In order to mount your changes on next boot, you have to edit the boot parameter “changes=”. For example, the boot parameter “changes=/live” will load/save the filesystem part located at /live/changes directory. A parameter “changes=/somefolder” will load/save the /somefolder/changes files etc. The boot parameter “changes=/live/changes.dat” will load/save the contents in the frugal file “/live/changes.dat”.

Compressed filesystem modules with the extension “squashfs” will load alphabetically on startup. So, if you wish to load a squashfs module containing kernel modules, firmware etc and you want it loaded before the basic filesystem, you can rename it to something like “00-firmware.squashfs” which is alphabetically before “01-filesystem.squashfs”. Other modules containing apps running at the top of the basic system, can be named to something like “02-firefox.squashfs”, “03-firefox-addons.squashfs” etc.

Installing software packages its as easy as on Sparkylinux, Debian, Ubuntu etc. Just locate them in Synaptic package manager and install them normally. After a successful installation, you can save all your changes in a squashfs module via a DebianDog script in menu, under the “Module Tools” category, named “Create module from changes”, using the “mksquashfs” command. Choose the media (i.e. sda1), the temporary work-directory name (i.e. “works”) and the module name (i.e. “02-firefox.squashfs”).

After copying all files in work directory, will ask for the compression method. Before choose your option, you can check the files in the /work directory, in the partition you choose before, edit them or change config files. After that click on your choice of compression (xz is recommended) and the script will proceed to squashfs creation. Now you can copy the new created file in the proper “magic folder” or in the root of /live directory to auto-load on next boot, or keep it in /live/optional directory to load it on demand. Note that after the “create module” procedure all your changes are stored in the squashfs module, so you can remove the contents of your /live/changes directory or .dat file, to prevent double-loading.

Note that JWM menu doesn’t auto-update after installations, so if you are expecting a menu icon from an installed application, you have to restart WM manually from the option under the Shutdown category of menu. You can manually load a squashfs module anytime using the “SFS-Load GUI” under the “Modules Tools” category or right-click on a squashfs module in PCmanFM and choose “Activate module”. In case you’re expecting an icon in the menu, you have to manually restart WM as mentioned. Right-click on an activated squashfs module and choose “Deactivate module” to deactivate it and restart WM to hide the icon (if exists).

If you wish to execute any custom commands on startup, put them in /home/puppy/.startup file. They will be executed on desktop startup, after loading all squashfs modules.

A suggested practice is to load in RAM the basic filesystem (using the boot code “copy2ram”) in porteus-boot mode, with a number of applications in squashfs modules into the /live/optional directory to activate/deactivate on demand and a /live/changes directory (using the boot code “changes=/live”) or .dat file (using the boot code “changes=/live/changes.dat”) to keep your configurations and documents.

Hope to enjoy this floral pup as we did. If you do, consider sending a donation to our favor Debian distribution, Sparkylinux.
--- Code ---
--- End code ---

SparkyBonsai 64bit, December 2019:
--- Code ---
--- End code ---

Firefox ESR:
--- Code ---
--- End code ---

Thunderbird + Lightning addon
--- Code ---
--- End code ---

--- Code ---
--- End code ---

Sparky-play +Sparky-player (simple mp3 and video players):
--- Code ---
--- End code ---

Non-free firmware
--- Code ---
--- End code ---

That's great, thank's for letting us know that!

You're welcome pavroo  :)
I'd like to listen to your opinion about the implementation.
Do you think it's spaky enough?

It's small and fast, like Puppy or Slax or Portes, that's really nice.
Gonna drop a few lines at Sparky blog about that.
Anyway the desktop looks like JWM but no JWM is running, what is it?

It is JWM with pcmanfm as desktop (pcmanfm --desktop).

--- Quote ---Sparky Bonsai use PCmanFM as file/desktop manager and JWM as windows manager. JWM’s menu construction is based on xdgmenumaker. It comes with Pale Moon as the default web browser, Mousepad as the default text editor and LXterminal as default terminal emulator. All DebianDog’s module and remaster scripts are included as well.
--- End quote ---
Xdgmenumanager updates dynamically the menu and a script into .jwmrc setting the ultra-flat icons.
There's no display manager, not even "nodm", auto-login with systemd getty.

Sparky is already lightweight using scripting to make debian desktop use easy, just like puppies. I think this is close to puppy/porteus/slax philosophy.

PS: I'm inserting the readme text at the first post.


[0] Message Index

[#] Next page

Go to full version