Debian Jessie Modular

A home for all kinds of Puppy related projects
Post Reply
Message
Author
User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

Debian Jessie Modular

#1 Post by rufwoof »

64 Bit Version
Recommended minimum 2GB RAM

For the most documentation see : DebDog64 Thread

Download SFS from here (641MB)

Ideally extract to a clean ext partition that has grub4dos bootloader already installed (the following commands assume sda1)

Code: Select all

unsquashfs -f -d /mnt/sda1 DebianJessieModular.sfs
and boot frugally (default boot choice).

If you extract the /live/filesystem.squashfs content to the / folder

Code: Select all

cd /live
unsquashfs -f -d /mnt/sda1 filesystem.squashfs
and make appropriate edits to /boot/grub/menu.lst (that need the UUID to be changed to your particular installation (blkid command) then you'll also be able to boot as though it was a fully installed system - which is handy for applying kernel updates.

/live/filesystem.module lists any .squashfs files that are loaded at bootup. In the absence of a /live/filesystem.module file the default is to load all .squashfs files in the /live folder in alphanumeric sorted order. The download sfs includes a number of such sfs's

filesystem.squashfs : that contains just a pure command line (text) Jessie bootup.
xorgopenbox.squashfs : that add Xorg and OpenBox ... so you also have a graphical desktop.
tint2.squashfs : that provides a panel
pavucontrol.squashfs : that provides pulse and pavucontrol graphical volume controller
firefoxesr.squash : Firefox
squashfstools.squashfs : for squashfs tools such as mksquashfs and unsquashfs
kodi.squashfs : Kodi

It's best to become familar with what's involved by using frugal boot no saving for the first few times. Accordingly a good way to start is to try it out using a more conventional frugal boot setup. Copy /extract the /live and /boot folders from the downloaded sfs to the root level of a ext partition and use the menu.lst as a guide for what to put into your own menu.lst ... and then boot that.

After bootup you'll end up at a Linux command prompt to login. The default passwords are

userid root : me
userid user : live

Login as user (password 'live').

Code: Select all

cd to /home/sfs
switch to root

Code: Select all

su
and enter the password 'me'
Run the command that loads all of the .deb files in that folder

Code: Select all

dpkg -i *.deb
... and wait for all of that to finish (can take a couple of minutes depending upon how many sfs's are being 'loaded').

exit from su

Code: Select all

exit
so you're back to the 'user' command prompt again. Then as user startup pulseaudio in the background

Code: Select all

pulseaudio --start &
Now startup the graphical desktop

Code: Select all

startx
and you should be into a basic OpenBox desktop

Right click the desktop to bring up the OpenBox menu and select the Terminal menu option, and in that terminal run

Code: Select all

tint2 &
command ... and you'll see a panel/tray appear.
In that same terminal try running

Code: Select all

firefox-esr &
or

Code: Select all

kodi &
Perhaps you wont hear any sounds in which case run

Code: Select all

pavucontrol &
in that terminal window. Then in the pavucontrol window make sure the volume isn't muted and that the correct Output is selected ...etc.

... you get the idea.

You also have access to the full debian repository (assuming you're hard wired into the internet), so for instance running

Code: Select all

sudo apt-get update
sudo apt-get install libreoffice
will download and 'install' Libre Office

Of course that's all being loaded and run within ram, so if you download/install too much then the system will lock-up.

To make changes persistent you need to have somewhere to save stuff. You can either set the partitions label to be 'persistence' in which case all changes will be stored there, or create a persistence file for storing changes into. For a 4GB savefile for instance you want to run something like

Code: Select all

dd if=/dev/zero of=persistence bs=1M count=4000
and then format it

Code: Select all

mkfs.ext2 persistence
then mount it

Code: Select all

mkdir m
mount persistence m
and create a persitence.conf file in that

Code: Select all

echo / union >m/persistence.conf
echo >>m/persistence.conf
umount m
You can tell from the above that other than filesystem.squashfs the other sfs's aren't the usual Puppy like sfs's, but instead are just a single sfs that contains all of the required Debian .deb files. They were created by booting a a frugal read only session with no sfs's loaded (only filesystem.squashfs named in the filesystem.module file) and logging in as root and then running apt-get update and apt-get install <program name> so as to install that program on top of just that basic command only session. All of the .deb files are stored under /var/cache/apt/archives folder as part of that, which I dropped into a single sfs for each of those sfs's (under a /home/sfs sub-directory within the sfs).

A great way to learn whilst playing around at the same time and should get you on the path to reading up about Openbox etc. and to better understand the overall grouping/structure of Linux/Debian. Those building blocks/modules can be used as a way to expand setups to meet your own needs/objectives, for instance if you want just a pure Kodi type media player then you might just have

filesystem.squashfs
xorgopenbox.squashfs
pavucontrol.squashfs
kodi.squashfs

in the filesystem.module file (note that the files are loaded (layered) in the order that they occur in the filesystem.module file). Note that the files including the kernel are all updated to the latest versions as of the time of creation of the sfs.

EDIT : The exit full screen key for that particular version of Kodi is the UK keboard hash key (lowest of the two keys immediately left of the RETURN key).

Don't forget to make backup's of your main system in case things go wrong.

===========================================

Here's wicd.squashfs that can be added to the set ... so if you have no hard wired internet connection at least you'll have a local copy of a network controller

Skype : this one is weird, before installing you have to add 386 support

Code: Select all

apt-get update
dpkg --add-architecture i386[code]
and then install from /home/sfs
[code]cd /home/sfs
dpkg -i *.deb
which produces some errors and reinstalling again

Code: Select all

dpkg -i *.deb
... runs through OK and skype is usable


Openshot ... which for full functionality also requires blender, melt and inkscape - that are included in the sfs.
Attachments
s.png
(96.73 KiB) Downloaded 537 times
Last edited by rufwoof on Sat 29 Apr 2017, 23:16, edited 4 times in total.

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#2 Post by rufwoof »

Worth remembering/highlighting that firefox can also be a file browser ... just type file:// into the location bar. It can also be a movie player, just open .mp4 or whatever files. It can even be used as a PDF viewer.

Or just install a filemanager from the repositories, my preferred choice is pcmanfm

Code: Select all

apt-get update
apt-get install pcmanfm

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

Re: Debian Jessie Modular

#3 Post by rufwoof »

Skype : this one is weird, before installing you have to add 386 support
apt-get update
dpkg --add-architecture i386
and then install from /home/sfs
cd /home/sfs
dpkg -i *.deb
which produces some errors and reinstalling again
dpkg -i *.deb
... runs through OK and skype is usable
Turns out ... not so weird. When multiple sfs's containing .deb's are layered, when they are loaded using dpkg -i *.deb they wont always be loaded in a order that satisfies all packages. Running a second time resolves that. In some cases you might even have to run a third (or maybe more) times ... until a clean load occurs.

For instance if a package requires a lib that isn't being loaded until later, then the second time through that will have already been installed and be available. Three times is the maximum number of re-running dpkg -i *.deb that I've seen being required (so far). I guess some cases might need a 4th run ... but suspect that would be rare (if ever).

The three case was for setting up a multi-media center with skype, kodi, pavucontrol ...etc. and suspect that the third iteration was only being driven by skype requiring 386 libs.

Remember that different sfs's containing .debs might have the same libs or files in multiple sfs's, but when layered only one shows through. By basing each on top of the command line only main squashfs that helps ensure that different choices are inclined to work independently of having to also have another sfs of .debs being loaded.

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

Re: Debian Jessie Modular

#4 Post by rufwoof »

rufwoof wrote:the other sfs's aren't the usual Puppy like sfs's, but instead are just a single sfs that contains all of the required Debian .deb files. They were created by booting a a frugal read only session with no sfs's loaded (only filesystem.squashfs named in the filesystem.module file) and logging in as root and then running apt-get update and apt-get install <program name> so as to install that program on top of just that basic command only session. All of the .deb files are stored under /var/cache/apt/archives folder as part of that, which I dropped into a single sfs for each of those sfs's (under a /home/sfs sub-directory within the sfs).
To expand some on that ... by firing up just the main filesystem.squashfs (command line only) along with squashfstools.squashfs (i.e. filesystem.module containing only filesystem.squashfs and squashfstools.squash entries) using a frugal no saves (fresh) then at the command prompt running
apt-get update
apt-get install someprogram
will afterwards have all of the .debs used to install that program in /var/cache/apt/archives
Change directory to /home/sfs after that and dpkg -i *.deb will load the squashfs-tools that includes the mksquashfs to apply that folder
cd /var/cache/apt
mksquashfs archives someprog.squashfs

After that I've simply mounted my sda2
mkdir m
mount /dev/sda2 m
and moved that sfs to sda2
mv someprog.squashfs m/.

Then rebooting into a Puppy or other linux, I've extracted that squashfs content
unsquashfs someprog.squashfs
that creates a squashfs-root folder of that content and then make a home/sfs sub-directory within that and moved the content from the top level down to that sub folder, before remaking a new sfs of that
mksquashfs squashfs-root someprog-new.squashfs

That way and when loaded the content of the sfs shows up as being in the /home/sfs folder

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#5 Post by rufwoof »

Basic command line only, with xorg and openbox installed on top, along with stalonetray (tray in openbox dock - I've set mine to be displayed in the top-right in the following clickable thumbnails) is a real nice lightweight combination.

Desktop
Image

Setting the desktop left mouse click to pop up the openbox menu, right click to show the desktops/open programs is nicer IMO than using the scroll-wheel middle 'button' click. If you leave the Labels empty in the main/top level menu and just use icons its quite a nice effect

Image

With Openbox menu you can use pipe menus, here's a example of where a menu option pulls in the current date and time

Image

If you set obconf to have a 1 pixel margin on the left hand screen edge, then even if a program is 'full window' you can still mouse over to the left screen edge and click either left or mouse button to access the menus

Image

Add in Brightside (hot corner program) and skippy-xd ... and you can mouse into a corner and see a tiled arrangement of all open (including minimised) programs, and use the left, middle or right mouse button to switch to, minimise or close the programs from within skippy.

Image

BTW the shadow effects around windows/frames are down to Compton having been installed

Post Reply