The Debian-Stretch-Live Starter Kit

A home for all kinds of Puppy related projects
Message
Author
User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#201 Post by rcrsn51 »

How to make a squashfs module for the Kodi media player

1. Start with a CleanMode setup to ensure that you get all of Kodi's dependencies.

2. Kodi uses accelerated video and needs mesa graphics. You may want to build a squashfs module for it too.
a. Run repo2sfs.
b. Use the Package name: libgl1-mesa-dri and the Extra package: mesa-utils
c. Build and load the module.
d. IMPORTANT: if you are loading mesa on-the-fly, you must also do an X restart to activate it.
e. Check that mesa is working by running the command: glxgears
f. To auto-load mesa at bootup, put the module in the "live" folder of your frugal install.

3. Build the Kodi squashfs module.
a. Run repo2sfs and use the package name: kodi.
b. Load the module and test it from the command line with: kodi
c. If it works, you can run it from the Sound and Video menu.
Last edited by rcrsn51 on Thu 05 Dec 2019, 02:37, edited 3 times in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#202 Post by rcrsn51 »

How to run Google Earth

1. Google Earth requires a machine with some power, like a Core i3 with 4GB RAM.
2. It runs inside the Chrome browser, so you need a 64bit version of the Starter Kit.
3. You may need accelerated graphics. See the instructions above for building a mesa squashfs module.
4. To build a Chrome module, read here.
5. Load both modules and restart X if needed.
6. Open the Chrome browser and go to: google.com/earth

---------------------
Last edited by rcrsn51 on Tue 25 Dec 2018, 00:47, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#203 Post by rcrsn51 »

Here is the Dell 3020 again, now with a hard drive install of the Starter Kit.

This is a UEFI machine that originally had Win8. It was refurbished with Win10 and set to legacy mode. (This is a common procedure with commercial recyclers.)

The Win10 setup is stable, so I didn't want to risk damaging it. I booted off a Tahrpup flash drive, ran Gparted, shrank the Windows partition by 10GB and made a new ext3 partition. When I rebooted to Windows, it was still happy.

I booted off the Tahrpup drive again, ran the Stretch-Live-Frugal-Installer and installed the Starter Kit into the new sda4. But how to boot it without impacting Windows?

The safest way is to use a small dedicated Grub4Dos-bootable flash drive with a menu.lst like this:

Code: Select all

timeout 0
default 0
title Deblive-Stretch-amd64-60 on sda4
root (hd1,3)
configfile /Stretch64/grubmenu.txt
The "configfile" line points to the location on sda4 of the grub code generated by the installer.

The boot procedure starts off the flash drive, then jumps to the hard drive and loads the second GRUB menu. From there, the Linux install launches as usual.

To boot Windows, I just remove the flash drive.
Attachments
snappie.png
(249.25 KiB) Downloaded 951 times
Last edited by rcrsn51 on Sun 03 Feb 2019, 08:13, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#204 Post by rcrsn51 »

How to make a Java module in the Starter Kit

Run repo2sfs with the Package name: openjdk-8-jre

To include a web browser plugin (only works in older browsers like Palemoon), add the Extra package: icedtea-8-plugin

Make this link: ln -sf /usr/lib/jvm/java-8-openjdk-i386/jre/bin/java /usr/local/bin
For the 64bit version, change "i386" to "amd64".

Run local Java apps with: java -jar xxx.jar

For the browser plugin, use: ln -sf /usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/IcedTeaPlugin.so /usr/lib/mozilla/plugins

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#205 Post by rcrsn51 »

How to make an Xournal squashfs module

Xournal is primarily a notetaking, sketching, annotating app, and it works with fillable PDF files. But it is also a simple desktop publishing program. You can place blocks of text and graphics on a page, modify them, move them around, etc.

Run repo2sfs with the Package name: xournal

The build includes Ghostscript as a dependency. But if you already have CUPS printing installed, you don't need it again. At Pause A, go to /var/cache/apt/archives. Delete any redundant packages.

The install also contains the folder /usr/share/mime. Each time the module is activated, it triggers an update-mime-database operation. To avoid this, stop at Pause B. Go to /tmp/repo2sfs and delete the folder usr/share/mime.

Look for Xournal in the Accessories menu. The on-line documentation is here.

-----------------
Last edited by rcrsn51 on Wed 27 Feb 2019, 12:27, edited 4 times in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#206 Post by rcrsn51 »

Gnetcat is a GTKdialog front-end for the netcat file transfer tool (busybox nc). It will work between any two machines that are visible to each other on your LAN - wired or wireless. Install the package on both computers and run it from the Internet menu. Gnetcat uses lzop compression, which is a dependency.

On the sending machine, select the source folder. Click Send. To select a single file, use Right-click>Copy path>Paste.

On the receiving machine, enter the IP address of the sender and select the destination folder. Click Receive.

As usual, the presence of firewalls will interfere with gnetcat.
Attachments
snappie.png
(30.73 KiB) Downloaded 829 times
gnetcat_1.3.deb.gz
Remove the fake .gz extension
(5.23 KiB) Downloaded 221 times
Last edited by rcrsn51 on Wed 13 Mar 2019, 16:37, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#207 Post by rcrsn51 »

How to make a squashfs module for Gnumeric

This is a standard repo2sfs build. The module is a reasonable 16MB in size and looks stable.

dancytron
Posts: 1519
Joined: Wed 18 Jul 2012, 19:20

#208 Post by dancytron »

I must have missed it, but what is the difference between repo2sfs and apt2sfs?

Are there situations where one is better than the other?

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#209 Post by rcrsn51 »

dancytron wrote:Are there situations where one is better than the other?
Look at the various examples in the thread.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#210 Post by rcrsn51 »

How to make a squashfs module for Guvcview

This is a regular repo2sfs build.

To ensure that the module is portable, make it in a CleanMode environment. Guvcview uses a number of audio-video libs that might already be in your current system and would be omitted from the build.

-----------------------------
Last edited by rcrsn51 on Sat 15 Dec 2018, 13:32, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#211 Post by rcrsn51 »

How to make a 64bit squashfs module for Lossless Cut

1. Go here and download LosslessCut-linux-x64.zip.
2. Extract it to a temporary location.
3. Download the attached deb package and remove the fake .gz extension.
4. Run: repo2sfs lossless-cut_1.14.0_amd64.deb
5. At Pause B, go to /tmp/repo2sfs
6. Open the opt folder. Drop in the LosslessCut-linux-x64 folder from Step 2.
7. Finish the build.
8. Look for Lossless Cut in the Sound/Video menu.

----------------------
Attachments
lossless-cut_1.14.0_amd64.deb.gz
(2.37 KiB) Downloaded 215 times
Last edited by rcrsn51 on Thu 20 Dec 2018, 12:32, edited 2 times in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#212 Post by rcrsn51 »

How to make a squashfs module for the Ted word processor

It is generally agreed that Abiword is unreliable for more than basic tasks. But if you are happy to work in RTF format, Ted is a well-tested alternative.

Go here and get Ted in a Debian package. English language spell-checking is built-in. If you want other languages, get their packages too, like ted_fr_FR-2.23.all.deb.

This is a standard third-party build. Run: repo2sfs ted-2.23-i386.deb

To include the extra language packages, stop at Pause A. Go to /var/cache/apt/archives and drop in the files.

Finish the build.

Look for Ted in the Office menu.

---------------------
Last edited by rcrsn51 on Thu 20 Dec 2018, 12:31, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#213 Post by rcrsn51 »

Removed.
Last edited by rcrsn51 on Thu 24 Jan 2019, 09:50, edited 6 times in total.

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#214 Post by fredx181 »

For info:
The latest firefox-esr from Debian repo ("quantum" v 60.4.0esr-1, currently) doesn't require pulseaudio (or the apulse workaround), works OK with sound if just alsa is installed.

Fred

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#215 Post by rcrsn51 »

How to make a squashfs module for 64bit Skype for Linux

Get Skype for Linux here.

Regular Skype users will probably just do a permanent Right-click > Install deb. But if you prefer to have a module, there are a few extra steps.

1. This is a third-party build: repo2sfs skypeforlinux-64.deb
2. At Pause B, go to /tmp/repo2sfs. Delete the folder usr/share/mime.
3. Finish the build and activate the module. But do NOT run Skype yet! It needs an initial setup.
4. Repo2sfs also creates the folder DEBIAN/skypeforlinux. Inside, open a terminal and run: ./postinst configure
5. Run Skype from the Internet menu. Hint: If an app doesn't immediately appear in the menu, run the command: lxpanelctl restart
6. You will be asked to provide a "keyring" password. Maybe just use your Skype password.

----------------
Last edited by rcrsn51 on Tue 25 Dec 2018, 00:46, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#216 Post by rcrsn51 »

A quick-and-dirty remastering procedure

Suppose that you just want a modified Starter Kit ISO with a few extra apps installed, like a browser or media player.

1. Package the apps as squashfs modules.
2. Make a temporary "source" folder.
3. Mount the Starter Kit ISO. Copy the "live" folder into your source folder.
4. Inside the ISO, locate the file "isolinux/isolinux.bin". Copy it into your source folder.
5. In the source folder, create the file "isolinux.cfg" with this line:

Code: Select all

default /live/vmlinuz1 initrd=/live/initrd1.xz noauto copy2ram from=/
6. Copy the extra squashfs modules into the "live" folder.
7. Your source should now contain just two files and one folder.
8. Run PeasyXorBurn. Under the Advanced tab, use Make an ISO.
9. Select your source folder and a location to save the new ISO. Choose Isolinux as the boot method.

--------------------
Last edited by rcrsn51 on Tue 25 Dec 2018, 00:45, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#217 Post by rcrsn51 »

This is an old Acer Aspire desktop with an Athlon II X2 CPU, integrated nVidia graphics and 4GB of DDR2 RAM. It originally had Win7, then was refurbished with Win10. The Athlon CPU is rated below a Core2 Duo, so it is pretty marginal as a Win10 machine.

I knew that the Acer BIOS hotkey is DEL, but I couldn't access the BIOS because of Windows' fast startup mechanism. I eventually killed this from within Windows as follows:

Code: Select all

Winkey+X > Command prompt (admin) > powercfg.exe /hibernate off
Winkey+X > Power options > Additional power settings > Choose what power buttons do > set Fast Startup OFF
Now I could get to the BIOS and enable USB booting. The Phoenix BIOS hides this setting under Advanced > Hard disk boot priority.

I reformatted the hard drive, erased Windows and did a regular 64bit install of the Starter Kit.

The onboard nVidia graphics uses the nouveau modesetting driver and I installed mesa to get accelerated video. It can run Google Earth, but slowly. I then tried the proprietary nvidia driver, but Google Earth crashed with it. So I plugged in an old PCIe nVidia graphics card. It works well using a DVI-VGA adapter.

Unlike many machines of this era, this one has an HDMI port. Both audio and video work. I had to enable HDMI in the BIOS under Integrated peripherals.

The Alcor card reader is dead. There is no Linux driver for it.
Attachments
aspire-x1301.png
(135.74 KiB) Downloaded 2148 times

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#218 Post by rcrsn51 »

How to install Puppy/Dog distros on a GPT hard drive system.

As the Linux world moves ahead with GPT partitioning and GRUB2, Puppy/Dog people continue to use Grub4Dos and MBR drives with extended partitions. But there was a recent report from a multi-boot user where an Ubuntu upgrade corrupted an extended partition, leaving the other OS's unbootable.

The following instructions describe a hybrid system where your hard drive is structured as GPT. You can have many "primary" partitions without resorting to an extended partition. But it boots with legacy GRUB (not Grub4Dos) so you can continue to use your favourite menu.lst syntax. On large modern drives, the bootable partitions may need to be in the first 2TB. The rest of the drive could be used for data.

1. Since you are building your hard drive from scratch, you will need a Stretch/Buster Starter Kit bootable flash drive. Make it with the stretch-live-frugal-install tool. A Puppy bootable flash drive should also work. Install the PET version of Legacy GRUB into its setup.

2. Download the Legacy GRUB squashfs module from here. Drop it into the "live" folder on your flash drive.

3. Boot off the flash drive. Find Legacy GRUB Config 2019 in the System menu. Don't run it yet!

4a. Run Gparted and select the hard drive.
4b. Open the Device tab and create a new partition table. Select GPT.

5. Create your new partition structure. Partition #1 should be a small ext3 "boot" partition. It will have the GRUB Stage1 boot code on the MBR (GPT systems allow this because they don't use the first sector of the drive), a /boot/grub folder and the main menu.lst file. It can launch other OS's with the usual GRUB syntax or by chainloading.

Note: Legacy GRUB also works with ext4. But be aware of the "64bit ext4" issue created by other OS's that Legacy GRUB cannot handle. Gparted in the Starter Kit makes ext4 partitions with the "not 64bit" setting, so they are safe to use with Legacy GRUB.

If necessary, reboot off the flash drive so it is aware of the changes to the hard drive.

6. Run Legacy GRUB Config 2019 and set up your boot partition. Select GRUB Stage1 on the MBR (hd0) and Stage2 on sda1.
Note: In Legacy GRUB, drive and partition numbers both start at 0. So the Stage2 files on sda1 will have GRUB target (hd0,0).

Be aware that legacy GRUB Stage1 hard-codes the location of its Stage2 file. If you restructure your partition table, you may need to reinstall GRUB.

7. Install some Puppy/Dogs into other partitions. The Stretch-Live Frugal Install tool works for both. Paste the GRUB menu code that it generates into your menu.lst file in the boot partition.

8. Reboot off the hard drive and cross your fingers. Don't worry if you make a mistake - you can always erase the drive and start over. Or revert the drive back to an MS-DOS partition table.

9. Here is a variation. Assign a partition to hold a collection of Pup/Dog frugal installs. Collect the individual GRUB menu entries into one "combo" file and put it at the root of the partition. Boot it from sda1 using the "configfile" command:

Code: Select all

title Various Pup/Dogs on sda5
root (hd0,4)
configfile /combo-grubmenu.txt
Now your Puppy/Dog partition is self-contained.

10. But what about the big-boy Linuxes like Ubuntu? Their installers should let you put their GRUB2 bootloader on the installation's partition boot sector, where it won't interfere with your Legacy GRUB. Format the target partition as ext3 to avoid the potential "64bit ext4" issue. Set the mount point as "/". Then boot it from your primary GRUB menu by chainloading.

Code: Select all

title Ubuntu on sda7
root (hd0,6)
chainloader +1
11. If a big-boy Linux insists on booting off the MBR, you can use its 40_custom GRUB2 setup file to run your own Pup/Dogs.
Read here for details.

Code: Select all

menuentry "Various Pup/Dogs on sda5"{
set root=(hd0,5)
legacy_configfile /combo-grubmenu.txt
}
Or better yet, put Legacy GRUB Stage1 on the Partition Boot Sector of the Pup/Dog partition using the GRUB target (hd0,x).
Boot it from GRUB2 with:

Code: Select all

menuentry "Various Pup/Dogs on sda5"{
set root=(hd0,5)
chainloader +1
}
12. Regarding Windows: If you have a pre-Win8 machine or a Win8+ machine in legacy mode, you can probably multi-boot it with Legacy GRUB. Put GRUB on the MBR and boot Windows from Linux with:

Code: Select all

title Windows
root (hd0,0)
chainloader +1
Or you can leave the DOS/Win MBR in place, flag a Linux partition as bootable and put GRUB stage1 on that partition's PBS.

Hint: To restore the original Windows MBR, use:

Code: Select all

apt-get install ms-sys
ms-sys -7 -w /dev/sda
---------------
Attachments
snappie.png
(20.84 KiB) Downloaded 735 times
Last edited by rcrsn51 on Sat 27 Jun 2020, 11:58, edited 65 times in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#219 Post by rcrsn51 »

How to make an squashfs module for Hard Disk Sentinel

Thanks to puppy_apprentice for discovering this. The original discussion is here.

1. Go here and get the 32bit version. Unzip it.
2. Rename the file as just "hdsentinel". Make the file executable with: chmod +x hdsentinel
3. Download the attached (empty) deb package.
4. Start a third-party build: repo2sfs hdsentinel_017.deb
5. At Pause B, go to /tmp/repo2sfs. Open the folder /opt/hdsentinel. Drop in the "hdsentinel" file from Step 2.
6. Finish the build. Activate the module and run it from the System menu.
7. When you are done testing, deactivate the module. Rename it as hdsentinel_017_i386.squashfs.
8. Use the equivalent procedure for the 64bit version.

To run hdsentinel directly from a terminal, use: /opt/hdsentinel/hdsentinel
Attachments
hdsentinel_017.deb.gz
Remove the fake .gz extension
(1.95 KiB) Downloaded 208 times

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#220 Post by rcrsn51 »

This is MX-18 Linux running on a hard drive formatted as GPT. MX is installed into "primary" partition sda6 with its GRUB2 bootloader written to the sda6 partition boot sector.

It boots from a Legacy GRUB menu in the "boot" partition sda1 by chainloading.
Attachments
mx-18.png
(105.21 KiB) Downloaded 1821 times

Post Reply