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/
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
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
STEP 8. Again, enter command:
Code: Select all
sce-load
STEP 9. Now configure wifi connection by entering command:
Code: Select all
sudo wifi.sh
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
Code: Select all
sce-load
STEP 11. Then enter:
Code: Select all
sce-import -br xorg
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
STEP 13. Download/import wbar program launcher by entering:
Code: Select all
sce-import -br wbar
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
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
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 &
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
Code: Select all
sce-load
STEP 17. You can also import and load a webbrowser. For example:
Code: Select all
sce-import -br firefox
Then load it onto your system by Entering:
Code: Select all
sce-load
STEP 18. You can now start up firefox from the commandline with:
Code: Select all
firefox &
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
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...: