Fatdog64-600 Full Install Guide

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

Fatdog64-600 Full Install Guide

#1 Post by jamesbond »

Fatdog64-600 does not officially support full install. But it doesn't mean it can be done; it means that it is not fully tested and it requires more manual configuration work. Here's how.

Disclaimer: Please make sure you understand every step I'm about to describe. Don't just follow blindly, these steps contain dangerous activities that can easily wipe out your data elsewhere. YOU HAVE BEEN WARNED.

There are two full-install possibilities: "Layered Full Install" and "True Full Install".
1. In Layered full install, the stackable filesystem is still active and working, and you still get many of its benefits (with caveats).
2. In True full install, the stackable filesystem is not used at all. In this mode Fatdog runs like any standard Linux distributions (with its associated headaches).

To simplify matters, in this guide I will first show to get Layered full install working, and then used that as a base to go with True full install.

One last comment before we go: The guide assumes you already have a working bootloader (grub, grub4dos, extlinux, etc) and you know how to configure them to add new OS installs. I will not detail the bootloader installation steps (there are plenty of this information already in the forum and elsewhere) - if you don't know how to do this then STOP AND DO NOT READ FURTHER. I will use grub4dos as an example but the principle is the same and the instructions should be adaptable to any other boot loaders.

Here we go.

[Layered Full Install]
0. The guide assumes you are currently running Fatdog in LiveCD mode.

1. Create the partition where you want to install Fatdog to. For the sake of illustration, I will assume we're using /dev/sda2 (you should replace this with your own partition reference). Replace reference to /dev/sda2 and /mnt/sda2 to the partition of your choosing. If you don't know how to create a new partition - STOP. DO NOT READ ANY FURTHER.

2. Use the Fatdog Installer to install Fatdog to the target partition (/dev/sda2).

3. Click the "sda2" drive icon. Rox will launch and shows the "vmlinuz" and "initrd" that has just been installed. In addition /dev/sda2 is now also mounted at /mnt/sda2.

4. Click "initrd". It will open and extract the contents of initrd to a temporary location.

5. Switching to the Rox folder that contains the initrd contents, open a terminal there (right-click, then choose "Window", then choose "Terminal here").

6. In the terminal, type the following "unsquashfs -f -d /mnt/sda2 fd64-600.sfs". Remember to replace "/mnt/sda2" with your own partition mountpoint.

7. When the process is done, close the terminal. Then go back to the initrd-content folder.

8. Delete the fd64-600.sfs. Then click "repack-initrd".

9. You are done ! Next, you just need to instruct your bootloader to boot Fatdog. The following is an example for grub4dos menu.lst:

Code: Select all

title fatdog layered full install
root (hd0,1)
kernel /vmlinuz savefile=direct:device:sda2:+ basesfs=none
initrd /initrd
Replace "sda2" with your own partition. Test it - boot to it now.

With layered full install, the layer system is still active and thus you can still load SFS just like when you run frugal install. The only catch is - the SFS files cannot be located in the same partition of your full install. For example in this guide you cannot have SFS files in /dev/sda2 partition - it won't work. You have to put them elsewhere (sda1, sda3, sdb1 etc). You can still make use of the sandbox facilities, too.

If you change the "direct:device:sda2:+" to "ram:device:sda2:+", you will be running full-install with the RAM layer and you will get the ability to choose whether or not to save changes made during the session (I won't put the details here: there are many posts explaining how to do so).

[True Full Install]
Continue with the following if you wish to have true full install. I'm assuming you have done Layered full install successfully; the following steps assumes you are currently boot-ed in Layered Full Install.

10. Using drive icons, open "sda2" (the device you have your layered full install.

11. Click "initrd". It will open and extract the contents of initrd to a temporary location.

12. Switching to the Rox folder that contains the initrd contents, open a terminal there (right-click, then choose "Window", then choose "Terminal here").

13. In the terminal, type the following "unsquashfs -f -d / kernel-modules.sfs".

14. Then in the same terminal, type the following: "mkdir /aufs/pup_save/tmp".

15. Then in the same terminal, type the following: "echo SAVEFILE_MOUNT=/ > /aufs/pup_save/etc/BOOTSTATE".

16. Then in the same terminal, type the following: "cp /aufs/pup_init/etc/rc.d/rc.cleanup /aufs/pup_save/etc/rc.d"

17. Close the terminal, and also close the initrd-content folder. You don't need to repack it, we haven't changed anything.

18. Open /etc/fstab with your favorite editor (e.g geany).
Uncomment these lines:

Code: Select all

# proc			/proc			proc	defaults			0		0	# mounted by /init
# sysfs			/sys			sysfs	defaults			0		0	# mounted by /init
So they will look like this:

Code: Select all

proc			/proc			proc	defaults			0		0	# mounted by /init
sysfs			/sys			sysfs	defaults			0		0	# mounted by /init
19. You are done, basically. Now you only need instruct your bootloader to boot Fatdog properly, something like this:

Code: Select all

title fatdog true full install
root (hd0,1)
kernel /vmlinuz root=/dev/sda2 rw rootwait
20. Boot. If it works, then you can safely delete the "initrd" file in your / directory. If you fail, you can always go back to your layered full install mode and re-do the above.

With true full install, the layer mode isn't used at all and you cannot use any layer-related functions such as loading SFS, etc. You have to use the many guides on how to use full install properly.

Note: if you ever boot to layered install again after you've converted to true full install, the next time you boot into true full install you need to edit your /etc/BOOTSTATE so that it contains only the line "SAVEFILE_MOUNT=/" and nothing else.

Closing note
Remember - this guide enables you to run Fatdog as full install. But full install in Fatdog receives very little (close to zero) testing and with any problems you find, you're most likely be on your own.

Good luck.

EDIT: Add to copy rc.cleanup to full-install partition so that at least we attempt to do clean unmount.
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

User avatar
duke93535
Posts: 194
Joined: Thu 05 May 2005, 16:45
Location: California , High Desert

#2 Post by duke93535 »

Just to let you know that someone has done a full install using your instructions.

After switching to true full install, the desktop drive icons on the desktop do not work correctly, so I changed to using the old pmount. I just placed an icon for it in the application launch bar in the bottom panel of lxpanel.

The spot stuff didn’t work correctly, I switched to using root for everything as is normal for Puppy and changed the dot desktop files to use the apps directly. I also moved some of the stuff out of spot and placed it in /root and then deleted most of the spot stuff.

The main gain I can see is a 1.2 second speed advantage at boot up. Our faster 6 core cpu machine boots in the 6 second range. The memory usage is about 50 mb less, over the frugal, not important when you have 4 giga bits. The pupstate has stayed at pupmode 12, this seems to work fine even if it is a full install.

I will probably go back to using the frugal install as Fatdog was intended.
It was fun to play with it. As info the layered install was a hair slower than frugal when booting.

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

#3 Post by rufwoof »

For cross reference purposes, in FatDog 800, True Full Install seemingly works fine. Followed the guidance in http://distro.ibiblio.org/fatdog/web/fa ... stall.html and using rsync to create on-the-fly save/restores (see http://murga-linux.com/puppy/viewtopic. ... 78#1027678) that also work well. Nice being able to create saves or rollback to a clean save without having to reboot. Which also opens up a form of loading sfs's i.e. extract the sfs, use the program(s) as desired, and then rollback to a clean pre sfs being inserted save point. rsync is quick once the initial sync has been created i.e. saves/restores can take less than 5 seconds.

In addition to the benefit of being able to save/restore on-the-fly, you can make as many changes as available disk space (you're not constrained to just free ram limits) without having to save. Which can be handy if you're doing a large video edit and don't want to have any changes persist. Yet another benefit is that in the case of a power-cut, any edits aren't lost.

I've set mine up to have a script in ~/Startup that asks whether to continue with the prior session as-is (as-was), or rollback to the clean save version (that runs rsync).
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

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

#4 Post by rufwoof »

For a full install and using rsync to create saves, that can you can rollback to, a couple of useful references are ...

http://www.mikerubel.org/computers/rsyn ... ncremental which details using hard links with rsync. Which you could use as a basis to set up/store multiple different save versions without having to fully replicate the partition content image for each individual snapshot/save image (rsync + hard links = single replication + multiple sets of only the changes applied to that main image, somewhat like a single (commonly shared) main full copy (large) and separate difference files (small)). Perhaps a separate 'save' version for each member of family so they can just restore/use their own version (save). So for instance if there are 3 family members and a full rsync is 1GB in size, then instead of three sets of 1GB separate rsync images, one for each family member, you instead have one 1GB shared main image, and three separate much smaller difference type files.

http://www.murga-linux.com/puppy/viewtopic.php?t=50402 (dated, and some links no longer work).
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

Post Reply