HowTo dCoreDog: Puppified dCore-Xenial

How to do things, solutions, recipes, tutorials
Message
Author
mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

HowTo dCoreDog: Puppified dCore-Xenial

#1 Post by mcewanw »

HowTo most recent update (to keep in sync with recent update by Jason W of tinycore linux dev team to dCore itself): 28Mar2017

NEW 28Mar2017: You can find a brief menu/contents list for this HowTo in the dCoreDog Project thread here:

http://www.murga-linux.com/puppy/viewto ... 292#949292


Introduction

EXAMPLE INSTALLATION HOWTO for a simple tinycore dCore-xenial system, with persistence, onto a usb stick. (The same instructions also work for a harddrive partition installation if you simply change reference from /mnt/sdb1 to wherever your harddrive partition is; for example /dev/sda1 and for harddrives you don't need 'waitusb=5' in your grub4dos menu.lst).

Note that the following includes installation of Xorg (not just Xvesa) including Mesa and also coreutils (not just busybox - coreutils was loaded as a dependency of xorg), so it is quite full-featured even at this stage.

Please refer to wanderers "corepup" thread for other tiny core puppification ideas and installation procedures:

http://www.murga-linux.com/puppy/viewtopic.php?t=108188

The following dCore installation purposively uses an atypical file installation structure to partially mimic a typical DebianDog/XenialDog install and to allow installers to gain some insight into that aspect of the related boot loader arguments. It is also purposively built from individual sce packages piece by piece, rather than using the large tinycore packaged dCorePlus, as an aid to learning how the system is put together.

For this installation it is assumed you are currently on an internet connected Linux system (e.g. DebianDog or Puppy), which you will use to download the first few required installation files. In particular I have concentrated on achieving dCore wifi connectivity and with a graphical desktop target, since that is often desired.

The given instructions also assume you are installing the system onto a blank FAT32 (vfat) formatted usb stick, which is seen by your Linux system at /mnt/sdb1. The location the usb stick appears may be different on your system so you should modify the instructions appropriately. Note that an ext2 formatted usb stick, for example, could be used if you like but wouldn't be seen on default MS windows systems. The same instructions can also be used for a harddrive (FAT32 or ext2,3, or 4 etc, but as I said, no waitusb=5 grub4dos menu.lst kernel argument required for harddrive install).

GRUB4DOS

Finally for this simple installation example, it is presumed you already have a working grub4disk boot loader installed somewhere (e.g. on the usb stick or on your system hard drive) which has an existing menu.lst file, which we will be adding to. If you don't have grub4dos on your drive, you can use the debiandog installer utility in DebianDog or XenialDog to make the blank usb stick bootable with grub4dos without having to install DebianDog itself on the usb (a similar utility is probably available in Puppy).

Fred (fredx181) of XenialDog/DebianDog has kindly provided a simple script, which you can run from any Linux distribution to automatically install a grub4dos bootloader (including menu.lst for this howto) onto a usb or harddrive. It uses the 'wee' bootloader so should also boot from ntfs partitions, but note that by default tinycore/dCore can only mount ntfs partitions in read only mode; for read/write persistence (or to complete this installation after rebooting dCore itself) you would need to have first installed sce package ntfs-3g (at STEP 4 below), which allows dCore to read and write files to ntfs formatted partitions). The simplest way to get dCore installed to an ntfs partition would be to first complete this installation to a usb stick and then copy all the files (including ntfs-3g.sce pre-installed) over to the ntfs partition using a Linux distribution that can already write to ntfs.

If you do need it, you can find the grub4dos installer script here with instructions for use:

http://www.murga-linux.com/puppy/viewto ... 504#947504

dCore-xenial: MAIN INSTRUCTION STEPS (follow these instructions exactly for greatest chance of success! ;-)

(Note that murga forum member Keef had the good idea to make a copy of this howto to a text file and then read that (with for example less) to follow the steps whilst performing the installation):

STEP 1. Assuming you are currently logged into your favourite Linux system (Puppy, DebianDog or whatever...), plug in and mount the blank but formatted usb stick.

STEP 2. Make a suitable folder (sce) for storing the self contained extensions (sce) you will be using.

Code: Select all

mkdir -p /mnt/sdb1/dCore-xenial/casper/tce/sce/
Note that I chose the above dCore-xenial/casper subdirectory path name just to remind myself of typical Ubuntu/XenialDog installs - you could use other subdirectory name as long as you modify your grub4dos menu.lst appropriately.

A more typical dCore structure would likely use something like /mnt/sdb1/boot/dCore/ to store the linux kernel (vmlinuz-xenial) and the initrd (dCore-xenial.gz) and use /mnt/sdb1/tce/sce/ for sce storage.

STEP 3. Download both of the following files:
http://tinycorelinux.net/dCore/x86/rele ... nuz-xenial
http://tinycorelinux.net/dCore/x86/rele ... -xenial.gz
and put them into folder /mnt/sdb1/dCore-xenial/casper/

STEP 4. Assuming you will later complete the installation via a dCore wifi Internet connection, download the following wireless-related files:
http://tinycorelinux.net/dCore/x86/sce/ ... nycore.sce
http://www.tinycorelinux.net/dCore/x86/ ... ce.md5.txt
http://tinycorelinux.net/dCore/x86/sce/ ... reless.sce
http://www.tinycorelinux.net/dCore/x86/ ... ce.md5.txt
and put them into /mnt/sdb1/dCore-xenial/casper/tce/sce/

You are now about ready to boot dCore as a commandline system but first you need to:

STEP 5. Modify your existing menu.lst to include the following dCore boot stanza to boot from sdb1 (i.e. hd1,0):

Code: Select all

title dCore-xenial
root (hd1,0)
kernel /dCore-xenial/casper/vmlinuz-xenial showapps tce=sdb1/dCore-xenial/casper/tce/ desktop=flwm_topside waitusb=5
initrd /dCore-xenial/casper/dCore-xenial.gz
(NOTE WELL: In terms of "puppifying the system" you can change the above kernel line to instead use: desktop=jwm and remember to import and load jwm rather than flwm_topside in the instructions below. However, to begin with I suggest using the default flwm_topside since some of my right-click menu type instructions below assume that is being used. Also, flwm_topside is already reasonably well configures by tinycore linux developers whereas jwm needs a lot of additional configuration work to be useful - i.e. leave jwm till later...).

STEP 6. Now reboot your system into menu.lst choice "dCore-xenial"

On my system various ACPI Warnings were reported on booting and an
Ipc_ich: Resource conflict(s) found affecting gpio_ich.

However, I just ignored these, pressed Enter, and the tc@box:~$ command prompt appeared okay.

STEP 7. At that command prompt, enter command:

Code: Select all

sce-load
Enter choice 1 to load wireless sce.

STEP 8. Again, enter command:

Code: Select all

sce-load
and now enter choice 1 to load wireless-4.2.9-tinycore sce (or whatever the current version is) and then press Enter once more to get the command prompt back.

STEP 9. Now configure wifi connection by entering command:

Code: Select all

sudo wifi.sh
Wait till wireless scan complete and then select number of your hopefully recognised wifi connection
and then Enter its password. (If the scan doesn't find your wifi connection, something is wrong...)

From the command prompt, at that stage, you should be able to now, for example, successfully ping google.com (or something is wrong...)

Now you can install X Window System via Internet sce package imports:

STEP 10. First, import graphics drivers by entering:

Code: Select all

sce-import -br graphics-4.2.9-tinycore
and load them onto your running system by entering command:

Code: Select all

sce-load
followed by entering the numeric selection value for this package.

STEP 11. Then enter:

Code: Select all

sce-import -br xorg
and wait till package list is downloaded and presented.
Then choose the xorg corresponding to your graphics hardware (mine is xorg-intel) or,
if you don't know which xorg package you require, choose xorg-all (which I'll use for this howto).
It's a pretty big download, so wait patiently for all the stuff that meta-package fetches...

STEP 12. Download/import flwm_topside window manager by entering command:

Code: Select all

sce-import -br flwm_topside
and press Enter to import.

STEP 13. Download/import wbar program launcher by entering:

Code: Select all

sce-import -br wbar
and enter choice 1 to import it.

I strongly suggest you DO NOT import or use wbar-config program. It could only configure wbar manually (static) whereas tinycore systems are designed to configure wbar dynamically from .desktop files and pixmap icon positioning. Any files created by wbar-config just get overwritten automatically on reboot so don't use it. Instead you can use the tc-wbarconf program provided in tinycore (via ControlPanel) - it can be used to remove any program icon you don't want (or to re-add previously removed ones); it does this by automatically modifying the "exclude icons" text list provided by /etc/sysconfig/tcedir/xwbar.lst

It is preferable (safer), I feel, to use tc-wbarconf program to thus modify xwbar.lst than to modify it manually since using a text editor it is easy to mess up the needed file list format.

Let's now LOAD these imported packages onto your running system:

STEP 14. Enter:

Code: Select all

sce-load
Then enter choice 1 to load first package in the presented list (was flwm_topside when I did it).
Repeat above step until flwm_topside, wbar, and xorg-all have all been loaded.

You should now be able to start X from the command prompt using command:

Code: Select all

startx
or something is wrong...

STEP 15. Once into X desktop, mouse right-click on desktop background and open a terminal (for example, menu Applications -> UXterm).

From that terminal, you can now load wbar panel as a background process by entering:

Code: Select all

wbar &
STEP 16. You can also import and load a filemanager (e.g. tiny core fluff, emelfm2, rox-filer, or pcmanfm).

I recommend using fluff, which is a simple two-panel filemanager, to begin with because it has been more fully configured by tiny core team than rox-filer, which does not automatically appear on wbar if installed (though it could be started as a background process with command "rox &"). Fluff provides a very convenient checkbox for sudo (allowing file/dir modifications as root user):

Code: Select all

sce-import -br fluff
then

Code: Select all

sce-load
and load fluff onto your system (it should automatically appear on your wbar).

STEP 17. You can also import and load a webbrowser. For example:

Code: Select all

sce-import -br firefox
I accepted choice 1, which was firefox name on its own. Wait till it downloads...
Then load it onto your system by Entering:

Code: Select all

sce-load
and choose firefox selection.

STEP 18. You can now start up firefox from the commandline with:

Code: Select all

firefox &
or from the new firefox button which should have appeared on the wbar

or from mouse right-click desktop background: Applications -> Firefox_Web_Browser


PERSISTENCE. SAVING YOUR CONFIGURATION BEFORE EXITING:

STEP 19. For wireless persistence, you need to modify the file /etc/sysconfig/tcedir/sceboot.lst

(which in this example is actually a symlink to the file /mnt/sdb1/dCore-xenial/casper/tce/sceboot.lst) adding the following two entries to the end of that sceboot.lst file:

Code: Select all

wireless
wireless-4.2.9-tinycore 
(or whatever the wireless-version-tinycore is currently called)

Two editors are available on your system at this stage: vi or FLTK-Editor. The latter is a graphical text editor.

For example, desktop right-click -> SystemTools -> FLTK-Editor to start that up.
Then use it to open and edit file /etc/sysconfig/tcedir/sceboot.lst to include the wireless lines above.

Note that that file, sceboot.lst, contains the sce files you want to load automatically at boot time (instead of having to manually load them with the sce-load command).

Finally, reboot your system using EXIT button on wbar or desktop right-click -> EXIT, being careful to select option "Backup" before pressing OK button. That will automatically create a small savefile called mydata.gz on the usb stick in folder /mnt/sdb1/dCore-xenial/casper/tce/ (or wherever /etc/sysconfig/tcedir/ symlinks to on your particular system).

Everything, and all previously made configurations, should be there on reboot. On reboot you do still need to press the wbar WIFI button to select and connect to your wifi network (or enter sudo wifi.sh in a terminal), but the password will have been automatically saved.


NOTES:

In the above example installation I did not choose to use the alternative/additional persistent /home and /opt method, which generally would require a linux-format filesystem (such as ext2) on your usb stick. Instead, changes to /home and /opt are automatically stored into your mydata.gz savefile in /etc/sysconfig/tcedir/ (because /home and /opt are by default listed in the file /opt/.filetool.lst as to-be-saved folders).

You can now begin puppifying your dCore-xenial system if you so desire (which could include merging some of the sce files and removing some of the stored deb files to save usb storage space; there are various commands for such actions, which you can find via the dCore wiki help pages).

In particular, albeit for different usb installation/hard drive installation examples altogether, you can find a lot of information about basic dCore commandline usage here:

http://wiki.tinycorelinux.net/dcore:usb ... test-drive
and here
http://wiki.tinycorelinux.net/dcore:bas ... stallation


Note that I have reserved some thread post space for future work I may add to this.

Hope you find it useful. If you find any steps I may have accidentally left out, please let me know.

William

Obligatory screenshot follows of result from build (to Step 21) so far. To make it look like Puppy linux?... use and configure jwm desktop manager instead of flwm_topside and, if you want, install rox-filer and also configure as a pinboard. However, I rather like the elegant simplicity of flwm_topside and no extra config required with that...:
Attachments
dCore-xenial_step20_screenshot.jpg
Screenshot result of this HowTo build (to step 20)
(132.4 KiB) Downloaded 1795 times
Last edited by mcewanw on Sun 02 Apr 2017, 07:46, edited 36 times in total.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#2 Post by mcewanw »

Step 20. Adding alsa modules and utils for sound. And mpv, fork of mplayer, for audio/video playback:

Code: Select all

sce-import -br alsa-modules

sce-import -br alsa-utils

sce-import -br mpv
Now load these, as before, using:

Code: Select all

sce-load
and repeat that step until all of alsa-modules, alsa-utils and mpv are loaded.

You need to now reboot (choosing Backup option 'Backup') to activate sound.

No volume control has been installed as yet, but you can adjust sound values from a console by entering command:

Code: Select all

alsamixer
Alas there is a problem, though not it seems to do with dCore-xenial: Firefox ver 52 and above apparently need pulseaudio (maybe its for html5 resources):

https://support.mozilla.org/t5/Videos-s ... s/ta-p/401

So alsa will work fine with the installed mpv audio/video player, but not with Firefox 52+. Got sound once I installed pulseaudio as follows:

EDIT: You may not need this any more. pulseaudio now seems to be included as a dependency with Firefox 52+ sce. Won't do any harm to import it again though as a separate sce - will just take up more storage space but not more RAM (will only get loaded once if used), and if you don't use Firefox you may need it for pulseaudio anyway (if you want that)...

Code: Select all

sce-import -br pulseaudio
followed by

Code: Select all

sce-load
You may need to reboot to activate (I didn't seem to on my second attempt).

Note that you could also install pavucontrol volume control with

Code: Select all

sce-import -br pavucontrol
sce-load
but I'm just continuing to use alsamixer from a terminal as my volume control.

I'll describe later, for filemanager fluff, how to associate audio and video files with mpv, or some other player, later.
If you are using emelfm2 as your filemanager, you can associate audio/video files with it by right-clicking on a highlighted media file, choosing selection 'Edit filetype'. At this stage, for category 'audio files' you could add a new Label/Command: "_mpv mpv" and push that preference to the top of the window, and do the same for category 'video files'.

William
Last edited by mcewanw on Wed 29 Mar 2017, 11:04, edited 11 times in total.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#3 Post by mcewanw »

STEP 21. Ondemand loading/unloading a SCE squashfs:

Example:

If you want to do some simple C compiling:

Code: Select all

sce-import -br build-essential
You could now do a 'sce-load' to load this (and automatically put into your /etc/sysconfig/tcedir/sceboot.lst). Then compiler gcc should now be available for you to use (without needing to reboot, but from then on auto-loaded after reboot).

But you might rather arrange to just load this sce 'ondemand' (which creates an ondemand shell script in /etc/sysconfig/tcedir/ondemand/) using instead:

Code: Select all

sce-ondemand build-essential
Note that you can move any currently not-used sce into either sceboot.lst (using sce-load) for auto-reloading at boot time; or into ondemand folder of ondemand-load scripts (using sce-ondemand).

Main options of command sce-ondemand are:
From sce-ondemand --help:

Code: Select all

[sce-ondemand - Manage ondemand SCE(s). Adding an SCE to ondemand ... updates the Window Manager's ondemand menu, which provides a convenient way to load less frequently used SCE(s) after boot.
 
Usage:
 
sce-ondemand SCE      ;Add SCE (e.g. build-essential) to ondemand, update menus.
sce-ondemand -c       ;Display current ondemand SCE(s).
sce-ondemand -e SCE   ;Load and execute any SCE, do not add to ondemand.
sce-ondemand -l       ;List available SCE(s) to add to ondemand (those not yet in sceboot.lst or ondemand).
sce-ondemand -r SCE   ;Remove SCE from ondemand, update menus.

Note well that this is already very 'Puppy-like' being basically equivalent to loading and unloading an sfs (sce is in fact a squashfs) so no need to recreate that Puppy-like facility; it is already there...

dCore doesn't as yet provide a GUI frontend for this sce handling (but tinycore itself does for its handling of tce files).

William
Last edited by mcewanw on Tue 28 Mar 2017, 07:41, edited 11 times in total.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

STEP 22 and STEP 23: Adding locales, extra repositories

#4 Post by mcewanw »

STEP 22. Adding locales:

Disclaimer. I know nothing about locales, but in next step (23) I show how to add new repositories; PPAs in Ubuntu for cherrytree and minetest. However, cherrytree hierarchical note taking app wouldn't start because of a locales problem. The following will fix it...

First see the problem by entering the command:

Code: Select all

locale
You should see some "Cannot set LC_..." messages in the output - that is bad, so here is a fix:

Code: Select all

sce-import -br locales-all
followed by

Code: Select all

sce-load
More info on locales in dCore can be found (with further Debian and Ubuntu localisation links) here:
http://wiki.tinycorelinux.net/dcore:ins ... calisation


STEP 23. Adding Additional Repositories:

Here are some relevant dCore links about this:

http://wiki.tinycorelinux.net/dcore:han ... positories

http://wiki.tinycorelinux.net/dcore:ppa-add_command

To 'explain' the process, I'll install a couple of hopefully useful applications: cherrytree hierarchical note taking application and minetest (a near-infinite-world block sandbox game and a game engine, inspired by InfiniMiner, Minecraft, and the like):

Installing Cherrytree Application:
Homepage: http://www.giuspen.com/cherrytree/

In dCore ubuntu versions (only) there is a sce-ppa-add command, so to add the required repository all you need to do is to enter the following command from a console:

Code: Select all

sce-ppa-add ppa:giuspen/ppa
Alternatively, you can add the repository to your dCore system manually by creating a text file called giuspen-ppa-main in /opt/debextra/ containing the following line (which is what sce-ppa-add does for you...):

Code: Select all

http://ppa.launchpad.net/giuspen/ppa/ubuntu xenial main
There is no need to reboot. Simply now import/download cherrytree with command:

Code: Select all

sce-import -br cherrytree
I prefered to load cherrytree 'ondemand' only (rather than automatically on boot), so I loaded it into my ondemand menu using command:

Code: Select all

sce-ondemand cherrytree
(But if you want it auto-loaded on boot, use sce-load instead of sce-ondemand).

To start cherrytree, open a console and enter:

Code: Select all

cherrytree
or 'cherrytree &' or add it to your wbar I suppose...


Installing Minetest Application:
Homepage: http://www.minetest.net/#about

To add the necessary minetest repository using the sce-ppa-add command enter the following command from a console:

Code: Select all

sce-ppa-add ppa:minetestdevs/stable
Alternatively, you can add the repository to your dCore system manually by creating a text file called mintestdevs-stable-main in /opt/debextra/ containing the following line:

Code: Select all

http://ppa.launchpad.net/minetestdevs/stable/ubuntu xenial main
There is no need to reboot. Simply now import/download minetest with command:

Code: Select all

sce-import -br minetest
Choose/Enter option number for 'minetest'.
(That's all I used for this simple test. You may want to also later sce-import various minetest-mod files etc, if you like the game).

Again, I prefered to load minetest 'ondemand' only (rather than automatically on boot), so I loaded it into my ondemand menu using command:

Code: Select all

sce-ondemand minetest
(But, again, if you want it auto-loaded on boot, use sce-load instead of sce-ondemand).

To start minetest, open a console and enter:

Code: Select all

minetest
or 'minetest &' or add it to your wbar I suppose...

William
Last edited by mcewanw on Sat 18 Mar 2017, 08:21, edited 4 times in total.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

Puppyfying dCore-xenial by means of some bash/gtkdialog apps

#5 Post by mcewanw »

"Puppyfying" this dCore-xenial installation

Traditionally Puppy used JWM desktop/Rox-filemanager combination, but that is no longer always the case nowadays. At this stage, I will be sticking with tinycore's flwm_topside with wbar because that has been specially configured by tinycore development team to allow automatic addition of new program icons onto the wbar.

I'll add some details about configuring wbar correctly later - the method is a bit special for tinycore systems. DO NOT use wbar-config, which is of pretty-much no use on tinycore systems because tinycore system scripts are designed to dynamically populate wbar. "wbar-config", on the other hand, is a manual configuration program and settings won't remain on reboot since configs made manually will be automatically overwritten by underlying read-only tiny core system scripts. The tinycore/dCore utility tc-wbarconf (also available via ControlPanel) is however very useful for either removing unwanted app icons from wbar or for putting them back again.


STEP 24. Adding gtkdialog:

A major aspect of Puppy is its use of bash-gtkdialog utilities. I will cover that here with the example installation of two such applications: weX, which can record either or all of audio/X11 screencast/embedded webcam video; and weav, a very flexible gui frontend to (any) stored commandlines. Getting audio and video recording subsystem working on any distribution is a good test of it (playback alone relatively easy).

Download the attached gtkdialog---sce.tar and gtkdialog---sce.md5.txt.tar, REMOVE the dummy .tar extensions, and store them on your dcore system in folder /etc/sysconfig/tcedir/sce/

This gtkdialog binary is the one used in XenialDog32, converted to an sce. It will work with tinycore's busybox ash shell, but if you want to use Puppy gtkdialog utilities on tinycore/dCore most of these will require you to use bash (and modify your system to use default shell bash rather than sh).

Now install/load it with console command:

Code: Select all

sce-load
gtkdialog depends on libglade-2.0 so seems that isn't included in the gtkdialog sce so import and load libglade-2.0 with:

Code: Select all

sce-import -br libglade
Select and accept libglade-2.0

and load it with:

Code: Select all

sce-load
Converting your dCore system to use bash as its default shell:

STEP 25:

Download/import bash with the following console commands:

Code: Select all

sce-import -br bash
Followed by installing/loading it via:

Code: Select all

sce-load
STEP 26. Make sh command a symlink to bash:

Open a root user terminal by entering the following command:

Code: Select all

sudo uxterm
and then do the following within that root user uxterm:

Code: Select all

mv /bin/sh /bin/shORIGINAL
ln -s /bin/bash /bin/sh
STEP 27. Making bash the login shell for user tc:

Also, from that root user uxterm (using any text editor really):

Code: Select all

chsh tc -s /bin/bash
That command (run as root user) changes the login shell of user tc from /bb/ash to /bin/bash. Using that command is preferred (safer) than using an editor to manually change the /etc/passwd file from

Code: Select all

tc:x:1001:50:Linux User,,,:/home/tc:/bb/ash
to

Code: Select all

tc:x:1001:50:Linux User,,,:/home/tc:/bin/bash
Either way, on next reboot bash will be the login shell for user tc.

You also need APPEND /bin/bash to /etc/shells since that file lists all shells considered to be valid login shells:

Code: Select all

echo /bin/bash >> /etc/shells
NOTE WELL that changes to /etc/passwd and /etc/shells will be lost on reboot unless you APPEND etc/passwd and etc/shells to the end of /opt/.filetool.lst, which is the file that lists what is to get saved into your mydata.gz persistence file. So in your root user uxterm enter (NOTE WELL to use >> for APPEND here):

Code: Select all

echo etc/passwd >> /opt/.filetool.lst
echo etc/shells >> /opt/.filetool.lst
Or easier perhaps is to add the files via ControlPanel -> Backup/Restore utility (cpanel from commandline, or right-click flwm_topside background -> SystemTools -> Control Panel).

IMPORTANT NOTE: do NOT put a slash (/) before first directory name in pathnames supplied to /opt/.filetool.lst. For example, using etc/passwd but NOT /etc/passwd.

You similarly need to instruct the system to save your /bin/sh changes:

Code: Select all

echo bin/sh >> /opt/.filetool.lst
echo bin/shOLD >> /opt/.filetool.lst
My current /opt/.filetool.lst contents are:

Code: Select all

opt
home
etc/passwd
etc/shells
bin/sh
bin/shOLD

Installing utilities weX, weav and scrox

STEP 28. Installing wex and scrox dependencies:

First you need to install dependencies for weX/scrox by downloading/installing these (in normal user terminal) as follows:

Code: Select all

sce-import -br giblib1
followed by loading it with:

Code: Select all

sce-load

STEP 29:

Similarly, you need libimlib2 as a scrox dependency:

Code: Select all

sce-import -br libimlib2

STEP 30:

You also need gettext, ffmpeg, and as a final dependency (for webcam) you need to install video4linux (v4l) drivers:

Code: Select all

sce-import -br gettext

Code: Select all

sce-import -br ffmpeg

Code: Select all

sce-import -br v4l-dvb-4.2.9-tinycore
and load, as usual, with

Code: Select all

sce-load
Repeat sce-load until all these dependencies have been loaded.

Note, I had trouble getting v4l-dvb to stay loaded on reboot. If you run into that problem, easy fix is to manually add the line "v4l-dvb-4.2.9-tinycore" (without the quotes and followed by a carriage return) to the end of your /etc/sysconfig/tcedir/sceboot.lst (you DO NOT need to be root user to modify things in /etc/sysconfig/tcedir).

For example, from a normal user tc terminal:

Code: Select all

fltk-editor /etc/sysconfig/tcedir/sceboot.lst
and make sure that sceboot.lst contains the entries you want.

STEP 31:

Download the attached wexweavscrox---sce.tar and wexweavscrox---sce.md5.txt.tar, REMOVE the dummy .tar extensions, and store them on your dcore system in folder /etc/sysconfig/tcedir/sce
That sce contains the combined installation files for weX, weav and scrox (from the originals used for my XenialDog installation). I have modified the programs slightly so that it is better configured for tinycore dCore use, and set up for pulseaudio by default.
Now install/load wexweavscrox with console command:

Code: Select all

sce-load
You should find that the icons for weX and for weaV are automatically added to the wbar menu.

Check that wexweavscrox_0.8.18_i386 is listed in /etc/sysconfig/tcedir/sceboot.lst. If not append it there.

At this stage, I recommend rebooting your system, so default login shell (bash) becomes operative, and to check that everything is automatically loading on boot as expected (otherwise edit /etc/sysconfig/tcedir/sceboot.lst as was suggested in step 30 to make sure it contains entries for everything you want loaded onboot).

weX and weav should now work (once you set up your alsamixer capture settings per the weX-setupGUI-provided help/information button).

NOTE that scrox is a fork of scrot, with some additional functionality, so all of the original scrot's screenshot functions will work as normal (scrox --help for brief usage instructions). For details about weX, weav and scrox see thread:

http://murga-linux.com/puppy/viewtopic.php?t=107905

The NEXT STEP of this HowTo can be found at link given below:

http://www.murga-linux.com/puppy/viewto ... 589#949589
Attachments
wexweavscrox_0.8.18_i386.sce.md5.txt.tar
Remove the dummy tar before use
(63 Bytes) Downloaded 282 times
wexweavscrox_0.8.18_i386.sce.tar
Remove the dummy tar before use
(68 KiB) Downloaded 299 times
gtkdialog_0.8.3-1_i386.sce.md5.txt.tar
Remove the dummy tar before use
(61 Bytes) Downloaded 273 times
gtkdialog_0.8.3-1_i386.sce.tar
Remove the dummy tar before use
(200 KiB) Downloaded 275 times
Last edited by mcewanw on Mon 03 Apr 2017, 08:41, edited 41 times in total.
github mcewanw

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#6 Post by Keef »

Thanks for this. I had been having problems getting dCorePlus to get to a desktop (although I've managed it before). Followed your guide and it works to perfection. I simplified it a little and missed out the 'casper' bit, and installed to HDD rather than usb. Copied the main points to a text file, and read it in the console using 'cat'.

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#7 Post by mcewanw »

Glad it was useful for you Keef. In practice, I also put my main dCore installation onto HD in similar fashion. For the HowTo version, I chose to document usb stick installation because there were some questions on wanderer's corepup thread specifically about how to achieve persistence on usb installs (with the particular problem that fat32 is often the default format on that medium).

Good idea, by the way, about writing instructions out to a text file for reading the steps from console with cat (or less) during installation.

William
github mcewanw

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

#8 Post by fredx181 »

Here's a simple way to install the grub4dos bootloader following the setup from William's top post (assume the usb-stick being: sdb1)
This should work from any Linux system, it should be executed with admin permissions i.e. as root

- Extract the attached archive (in e.g. /mnt/sdb1) so that all the files are on the root of your usb-stick: sdb1 (can also be on e.g. sda1 (HDD), see info in readme)
- Open terminal in the directory of the mountpoint e.g. /mnt/sdb1 and type:

Code: Select all

./weeinst
This will write the MBR and will also set the bootflag, to make it bootable.
The menu.lst (includes dCore-xenial entry for sdb1) is included in the archive, also see readme for more options.

PS: Didn't try the dCore-xenial setup (yet) though, but looks promising!

Fred
Attachments
weeinst.tar.gz
Install grub4dos bootloader
(136.38 KiB) Downloaded 331 times

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

automating this howto

#9 Post by mcewanw »

That's a useful script for quickly installing grub4dos bootloader.

I'll leave Fred or anyone so inclined to provide the script to automate my howto instructions, which could be a really great thing actually. My own version will be like the idea of wanderer, which will simply be a list of manual steps, since its partly for educational purposes to show what is really going on - but of course it is nice in practice to automate/script these steps. Imagine that... a simple wget or similar based script with maybe a simple gui frontend that provides a fully installed dCore basic/intermediate, or advanced system onto a usb, SD card, or harddrive partition.

I agree with wanderer that a build system like this (manual or scripted) is much simpler for less technical users to build their 'own' system (on the back of tiny core development team work), much simpler than making isos, and even remastering can become part of the gui/auto-build script - just add mechanism for selecting what you want to include in your build. But remember, I don't plan to make the script - call me lazy - you are maybe correct - I might not even be adding to the howto, but I'll happily include good ideas/additions, which is why I've reserved some post slots. I'll put a link to Fred's post in there next time I have a few things to add, but for the moment Fred's grub4dos boot loader script is easy to find anyway.

I'll also be keeping a close eye on wanderers thread and link to anything I like as useful from there (for example, the jwm from goingnuts), but again I'll wait for a bit before adding in these wanderer thread links.

William

EDIT: Actually, the automate script would be at least two scripts as things stand in the how to: one from an existing Linux system to create a bootable commandline dCore version (say onto usb stick). Then, once that is booted, a script in dCore to install the gui components (and maybe a third script for any extras required...). But no reason I can think of that the main preparation couldn't all be done from one script run from the original linux system.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#10 Post by mcewanw »

I just noticed on tinycore (dCore) forum that there already is some kind of automatic install script for dCore. I haven't tried it, so I have no idea how good or flexible it is. Might be a starting point, though pretty easy to script the HowTo anyway, and useful to have Fred's grub4dos installer as part of that:

http://forum.tinycorelinux.net/index.ph ... #msg112096

Of course, this isn't tiny core linux forum and the point should be to modify any such scripts such that it the final result is "puppy-like", otherwise project work on dCore would be better on tinycore linux forum itself. My HowTo simply shows how to adopt a puppy-like file hierarchy for the installation - but of course Puppy-like utilities could be used or created.

William

EDIT: I've just had a quick read of the above auto-install script and it has some nice ideas in it, includes sound installation info, but doesn't seem to include initial wireless installation. Easier I feel to just script the HowTo directly but with additions.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#11 Post by mcewanw »

Added brief comment and link in the first post to the grub4dos bootloader installer script Fred has provided.

EDIT: I've also added instructions for activating alsa sound in post 2 of this thread, and also for installing the audio/video player mpv.

William
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#12 Post by mcewanw »

Fixed sound issue for Firefox 52 (simply by installing pulseaudio) and

added info on how to ondemand load a squashfs SCE (using example of build-essential for those occasionally wanting to do a bit C programming).

http://www.murga-linux.com/puppy/viewto ... 637#946637

Note well that this is already very 'Puppy-like' being basically equivalent to loading and unloading an sfs (sce is in fact a squashfs) so no need to recreate that Puppy-like facility; it is already there...

I do NOT consider that it would be a good idea to allow for the use of an actual Puppy sfs - mixing code like that is generally dangerous and unnecessary since Ubuntu repositories are likely to contain most of what you need, AND you can add additional external repositories to dCore (PPAs) - I'll add an example of that soon.

William
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#13 Post by mcewanw »

Have included screenshot of the result of this HowTo build of dCore-xenial (up to step 20) in first post of this thread:
http://www.murga-linux.com/puppy/viewtopic.php?t=109859
Of course, this doesn't yet look like a Puppy (jwm and rox-filer and pinboard would be needed if you really want that). And obviously it is not a woof-ce build (!) though it only takes about 10 to 20 minutes to complete the 21 steps and build it, and no woof-ce understanding, scripting, or programming skills required. It's a pure tinycorelinux dCore build (and I intend keeping it pure dCore apart, possibly, from the look and feel, and the probable addition of gtkdialog and a few of my gtkdialog-based shell scripts - will still be pure dCore system though).

It's certainly a nice system for non-experts to build their own distributions with (leveraging the skills of the tinycore dCore development team and with full access to Ubuntu Xenial repositories and any other Ubuntu-compatible PPA repositories you want to include).

William
Last edited by mcewanw on Thu 16 Mar 2017, 07:41, edited 2 times in total.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

Screenshot

#14 Post by mcewanw »

Screenshot of current HowTo dCore-xenial build (up to step 20) now re-uploaded to end of first post. See post previously above this one for comments and link.

William
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

STEP 22 and STEP 23: Adding locales, extra repositories

#15 Post by mcewanw »

These new steps 21 and 22 are here:

http://www.murga-linux.com/puppy/viewto ... 638#946638

William
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#16 Post by mcewanw »

Though Puppies traditionally uses a JWM window manager and Rox filemanager combination, many other options have become available of late. In terms of Puppyfying the tinycore/dCore system, it is probably more difficult to get Puppy utilities running than changing the window manager.

The newly added STEPS 24 up to 31 therefore document installation of gtkdialog/bash and a couple of Puppy-style utilities weX and weav as part of that tinycore/dCore Puppyfication process. weX is a particularly good test of the overall system since it needs audio (alsa with pulseaudio) and video recording subsystem (video4linux) to be functioning (audio and video playback being relatively much easier to get going):

http://murga-linux.com/puppy/viewtopic. ... 639#946639

Again. please let me know if I missed any detail required in what is a somewhat more difficult configuration procedure.

William
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#17 Post by mcewanw »

PREVIOUS STEP at http://www.murga-linux.com/puppy/viewto ... 639#946639


Some tips and polish

Converting an existing tinycore tcz file to a dCore sce (when no sce is otherwise available)

Example. Installing Mike Lockmoore's flit:

Quote from:

https://sites.google.com/site/lockmoore ... loads/flit

"Flit is an applet 'tray', currently offering clock, master sound volume control, and battery monitor. It is written to be small and low-overhead, using the FLTK user interface library, so it is especially efficient on Tiny Core Linux".

Using lxtask, I found that flit uses near zero percent CPU load (unlike most volume controls). If you also want lxtask on your system: sce-import -br lxtask, to get it, followed by sce-load lxtask.

I tried sce-import to get flit, but found that flit isn't currently available as a dCore sce. However, you can get it as a tcz from tinycore tcz repository.

Converting tcz to sce is simply a matter of changing tcz extension to sce and producing a .md5.txt file as follows:

STEP 32:

The current tinycore 7.x repository for tcz files is at:

http://distro.ibiblio.org/tinycorelinux/7.x/x86/tcz/

Download flit.tcz from there and save it to /home/tc/Downloads.

STEP 33:

Open a terminal at /home/tc/Downloads and rename flit.tcz to flit.sce, create the flit.sce.md5.txt file, and move the resulting two files to /etc/sysconfig/tcedir/sce/ (you do this as a normal user, for example, user tc):

Code: Select all

mv flit.tcz flit.sce
md5sum flit.sce > flit.sce.md5.txt
cp flit.sce /etc/sysconfig/tcedir/sce/
cp flit.sce.md5.txt /etc/sysconfig/tcedir/sce/
You should now be able to load flit with command:

Code: Select all

sce-load
and you can Run it from a terminal with command:

Code: Select all

flit &

It turns out that flit doesn't get run automatically on reboot at X start.
First problem is that, for some reason..., an entry hasn't been automatically added to sceboot.lst, so:

STEP 34:

Open /etc/sysconfig/tcedir/sceboot.lst in a text editor (say fltk-editor) and add flit as an entry just after the wbar entry.

Then you need to either add a "flit &" entry to /home/tc/.xinitrc (just before "wait $DESKPID') or to /opt/bootlocal.sh or add a flit startup script to /home/tc/.X.d

Since it is an X startup program, I've chosen to use the dCore-provided method of adding a flit startup script to /home/tc/.X.d (which is actually called up by .xinitrc anyway):

STEP 35:

Open a terminal at /home/tc/.X.d and create an executable shell script containing the following commands:

Code: Select all

#!/bin/sh
flit &
Make sure it is executable by entering the following command from the same terminal:

Code: Select all

chmod +x flit
flit panel should now always appear on booting into X.
Last edited by mcewanw on Thu 30 Mar 2017, 10:56, edited 11 times in total.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

Allowing ntfs partition writes; file associations in fluff

#18 Post by mcewanw »

Further polishing. Install ntfs-3g to allow dCore to write to ntfs partitions since can otherwise only read from them; associate applications with file types in fluff filemanager.

STEP 36. Download/import ntfs-3g:

a.

Code: Select all

sce-import -br ntfs-3g
and then

b.

Code: Select all

sce-load ntfs-3g

STEP 37. Associate applications with file types in fluff filemanager:

For simplicity, I'll use example of associating application mpv with files that have .mp4 extension.


Example 1 (associating mp4 files with mpv player).

a. As normal user, open fluff.

b. Locate and single-click on a file that has a .mp4 extension.

c. Press "Props" (Properties) button in fluff.

d. Press "Type" button in Properties window.

e. If a pop-up window appears at this stage asking you to "Enter a short descriptive name..." then easiest to just enter the file extension here (without the dot), which for this example is mp4, and press OK button.

f. In resultant "Manage File Types and Hints" window, press "Associate apps..." button

g. If there are existing "Associated applications for filetype file" then you can click on any of these and modify its contents (e.g. Action label to View or Run or Edit or whatever you wish to call the action along with the exact commandline you want).

h. For this mp4 example, the Action label can be "Play" (without the quotes) and the command:

Code: Select all

mpv %s &
i. All the above file association info will be saved in file /home/tc/.fluff.conf once you gradually close all the open windows back till you reach the open fluff window again.

Double-clicking any .mp4 file in fluff should now automatically start it playing in mpv player.


Example 2. Associating firefox with pdf files

Firefox versions greater than 18 come with an inbuilt pdf viewer, which if set up to do so works for both locally stored pdfs and for online pdf file links. It doesn't require an internet connection to view locally stored pdf files.

Of course you could instead install a separate pdf viewer program, but the Firefox included one works very well in my tests.

First, make sure Firefox has the internal pdf reader enabled by:

a. Opening Firefox Preferences -> Applications, and highlight Applications entry "Portable Document Format (PDF)". By default, in the dCore installed Firefox, it probably already says "Preview in Firefox" - if not, simply use drop down arrow and select that.

b. Then, in fluff, single-click highlight a pdf file stored on your system and press fluff "Props." button.

c. In resultant "Properties" window, press "Type" button.

d. In the resultant pop-up window enter the short descriptive name: pdf and press OK button.

e. In "Manage File Types and Hints" window, press "Associated apps..." button.

f. In resultant "Manage Associations" window, either modify any existing Associated app or press "Add new" button:

g. In "Action label" box, put "View" (without the quotes).
In "Command line" box, put command:

Code: Select all

firefox %s &
h. Finally close all the open fluff windows and the new configuration should be automatically stored in /home/tc/.fluff.conf

Double-clicking any .pdf file should now automatically start up firefox and use its internal pdf viewer.


Remember to select Backup when your shutdown your system (or do it now via ControlPanel) or you will lose your new settings.

William
Last edited by mcewanw on Sun 02 Apr 2017, 08:40, edited 2 times in total.
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#19 Post by mcewanw »

Reserved for possible additional steps
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#20 Post by mcewanw »

Reserved for possible additional steps
github mcewanw

Post Reply