Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Sun 17 Nov 2019, 09:36
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
Fatdog64 ISO Builder
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 4 of 4 [57 Posts]   Goto page: Previous 1, 2, 3, 4
Author Message
mcradventures

Joined: 25 Jan 2017
Posts: 10

PostPosted: Wed 25 Jan 2017, 22:47    Post subject:  

Can this be used to make essentially the latest Fatdog but with the 3.14 kernel? I only ask because I like the sound of Fatdog but it doesn't run on the old laptop I have, but Tahr pup does, which uses an older kernel. I have narrowed down the issue to the kernel as it seems no "modern" distro with the 4.x kernel will boot on the laptop. I've spent two days trying to get ANY linux distro on this laptop and the only successful one was Tahr pup, but it lacks some features that Fatdog seems to have and I can't figure out any way to add those features to Tahr pup.

If this can't do it, is there any way to do it? Is there a possibility of Fatdog being released officially with an older kernel for older hardware? If curious, the laptop is a Dell Vostro 1000.
Back to top
View user's profile Send private message 
step

Joined: 04 May 2012
Posts: 1220

PostPosted: Thu 26 Jan 2017, 03:25    Post subject:  

I don't know how to answer your specific questions directly, sorry. But have you considered running Fatdog 702 on your Dell? 702 did run on k3.14 until it was upgraded. Here's the kernel repo for 702 http://distro.ibiblio.org/fatdog/kernels/700/. Are you looking for specific features of 710 that aren't available in 702? If so, which ones?
_________________
Fatdog64-802|+Packages|Kodi|Findnrun|+forum|gtkmenuplus
Back to top
View user's profile Send private message 
step

Joined: 04 May 2012
Posts: 1220

PostPosted: Thu 26 Jan 2017, 06:32    Post subject:  

@Terry H,

I suspect that indeed all the packages were downloaded, and that the "already downloaded" messages occur on subsequent download attempts, which depend on the inner workings of the ISO builder.

I have traced one exemplar package, parted-3.2, as it goes through the script. What I see is that it is downloaded successfully, then about 50 seconds later the script wants to download it again but finds it in the cache and outputs "already downloaded", then after some more time the script wants to install it, and finds it "already installed" (in my system), and so on.

I could make the whole trace available, if you really need it, but perhaps this excerpt is enough to show what's going on in the life of parted-3.2. And I guess the other packages go through the same drill.

Note that parted-3.2 takes two different IDs, 450 and 468, in the download list. There are duplicates in the list, probably because the script errs on the safe side. No package is downloaded more than once. The script "announces" 612 intended downloads, but it actually downloads only 601 packages. It means that 11 packages are duplicated, which is the number of packages in your list.

11 = 612 -1 - $(ls pkgcache/*.txz | wc -l) # -1 because pkgcache starts with a locally created package, pkgcache/bash-default-shell-1.0-noarch-1.txz

Code:

+ : 'read pkg(parted-3.2-x86_64-1) Thu Jan 26 8:30:39'
+ pkg=parted-3.2-x86_64-1
+ set -- parted-3.2-x86_64-1
+ pkg=parted-3.2-x86_64-1
+ '[' -z parted-3.2-x86_64-1 ']'
+ PKGS=450
+ echo -n '450 of 612: '
450 of 612: + '[' -s pkgcache/parted-3.2-x86_64-1.txz ']'
+ download_file parted-3.2-x86_64-1.txz
+ echo downloading parted-3.2-x86_64-1.txz ...
downloading parted-3.2-x86_64-1.txz ...
+ '[' parted-3.2-x86_64-1.txz = parted-3.2-x86_64-1.txz ']'
+ wget -c -o /dev/null -O pkgcache/parted-3.2-x86_64-1.txz http://distro.ibiblio.org/fatdog/packages/710/parted-3.2-x86_64-1.txz
+ check_md5 parted-3.2-x86_64-1.txz
+ echo -n 'Checking integrity parted-3.2-x86_64-1.txz ... '
Checking integrity parted-3.2-x86_64-1.txz ... + read goodsum
++ awk -v pkg=./parted-3.2-x86_64-1.txz '$2==pkg {print $1;exit} END {print "NONE"}' pkgcache/CHECKSUMS.md5
+ read filesum
++ md5sum pkgcache/parted-3.2-x86_64-1.txz
++ awk '{print $1}'
+ '[' a65b74ddf8bf314430f15bde4cf5793f = NONE ']'
+ '[' a65b74ddf8bf314430f15bde4cf5793f '!=' a65b74ddf8bf314430f15bde4cf5793f ']'
+ echo good.
good.
+ return 0

-------------------------- about 50 seconds later -------

+ : 'read pkg(parted-3.2-x86_64-1) Thu Jan 26 8:31:24'
+ pkg=parted-3.2-x86_64-1
+ set -- parted-3.2-x86_64-1
+ pkg=parted-3.2-x86_64-1
+ '[' -z parted-3.2-x86_64-1 ']'
+ PKGS=468
+ echo -n '468 of 612: '
468 of 612: + '[' -s pkgcache/parted-3.2-x86_64-1.txz ']'
+ echo parted-3.2-x86_64-1 already exist, not downloaded.
parted-3.2-x86_64-1 already exist, not downloaded.
+ check_md5 parted-3.2-x86_64-1.txz
+ echo -n 'Checking integrity parted-3.2-x86_64-1.txz ... '
Checking integrity parted-3.2-x86_64-1.txz ... + read goodsum
++ awk -v pkg=./parted-3.2-x86_64-1.txz '$2==pkg {print $1;exit} END {print "NONE"}' pkgcache/CHECKSUMS.md5
+ read filesum
++ md5sum pkgcache/parted-3.2-x86_64-1.txz
++ awk '{print $1}'
+ '[' a65b74ddf8bf314430f15bde4cf5793f = NONE ']'
+ '[' a65b74ddf8bf314430f15bde4cf5793f '!=' a65b74ddf8bf314430f15bde4cf5793f ']'
+ echo good.
good.
+ return 0

_________________
Fatdog64-802|+Packages|Kodi|Findnrun|+forum|gtkmenuplus
Back to top
View user's profile Send private message 
Terry H

Joined: 29 Mar 2009
Posts: 669
Location: The Heart of Muskoka, ON Canada

PostPosted: Thu 26 Jan 2017, 14:12    Post subject:  

@step

Thanks so much for running the trace and the explanation. That response is more than satisfactory. With subsequent runs I had become satisfied that it was OK. The parted-3.2 example is sufficient.

Apart from checking that the affected applications ran, I had also checked the pkgcahe and saw the packages were present following the build. Unfortunately duplicate entries in the sfs-baselist didn't cross my mind. I've read through this thread several times now and I was surprised that this hadn't been queried previously in the almost year that this thread has been existing.

Hopefully this will be assistance to new users who want to run the Fatdog64 ISO Builder in the future. This systm is really an excellent inclusion to this community.
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3623

PostPosted: Tue 08 Oct 2019, 13:38    Post subject:  

Made some notes ... followed/filled them in and ran the build script to build a base (cli) system only with wifi net connect ... and all ran quickly and smoothly.

/tmp threw me a bit. I boot frugally all running in ram on a 4GB system and could perhaps have gotten away with just leaving that as it, but I moved /tmp to a hdd based /tmp as part of the build. Subsequently I've seen a earlier post in this thread that details how to set /tmp to a different location within the build script.

My notes ...
Code:
http://murga-linux.com/puppy/viewtopic.php?t=105329

The Fatdog64 ISO Builder.

It enables you to build a custom ISO from the ground up, from a given list of packages.
No remastering is involved. It is the same builder that we use ourselves to build the
official ISO.

Another way to explain it: Fatdog64 ISO Builder is the Fatdog's version of Woof. If you
have seen how the "next-generation" branch of Woof-CE (aka woof-ng), you would see a lot
of similarities since the woof-ng builder was originally based from this.

Downloaded the latest build script tarball from
http://distro.ibiblio.org/fatdog/iso/builder/
ran xz -d to decompress it and tar xvf ... to extract it (under a hdd based
folder in my case within a folder /mnt/sda1/fatdog-build that I created)

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

Get a recent ISO, extract out
its initrd, put it in a folder called `fatdog-initrd` and use that
folder to replace the one here. Note: use the extracted content,
and do not re-pack it again.

If you forgot to do this you will be gently reminded when you boot
the resulting ISO
Make sure you remove `kernel-modules.sfs` and `fd64.sfs` from the
extracted initrd to save space as they are not used and will be
replaced with by the build process anyway.

deleted all files/folders in fatdog-initrd then ..
cd /mnt/sda1/fatdog-build/fatdog-iso-builder/fatdog-initrd
cat /mnt/sda1/initrd | cpio -id # to extract
removed both fd64.sfs and kernel modules sfs


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

All the working files will be created in this directory unless you
specify otherwise (via `build-iso.conf`). Thus make sure that you put
this in a filesystem large enough to contain all the downloaded
packages and the final output.

It will use `tmp` as temporary directory by default; so you will also
need plenty of space there. How big the space is needed depends on how
many packages you want to build.

Fatdog64 800 requires at least 2.5GB free in /tmp.
Newer version will require more space.

If you have less than 2.5GB in /tmp, you need to specify directory
location for storing temporary files.


mkdir -p /mnt/sda1/tmp
mount -M /tmp /mnt/sda1/tmp  # Move from tmpfs (limited/ram under frugal boot) to hdd based
# resize current allocation to /tmp (ram limit)
# mount -o remount,size=10G /mnt/sda1/tmp ... when it came to the actual
run I didn't need to do that as under fatdog tmpfs was sized to 16GB). The
following is also the df -h as I ran when making the notes under voidlinux ...
# so df -h shows
# df -h
Filesystem      Size  Used Avail Use% Mounted on
inram           3.4G  115M  3.3G   4% /mnt/layers/RAM
/dev/sda1       447G  146G  279G  35% /mnt/sda1
overlay_result  3.4G  115M  3.3G   4% /
run             1.7G  696K  1.7G   1% /run
dev             1.7G  4.0K  1.7G   1% /dev
shm             1.7G   60M  1.7G   4% /dev/shm
cgroup          1.7G     0  1.7G   0% /sys/fs/cgroup
tmpfs            10G  8.0K   10G   1% /mnt/sda1/tmp


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

To build BIOS-only ISO with huge (standard/default) initrd, using syslinux bootloader:
`./build-iso.sh iso std isolinux`

To build a standard BIOS/UEFI ISO (like standard Fatdog64):
`./build-iso.sh iso`

I built the first of the above two noted choices. Ran through very quickly, went off to make coffee and by the time I returned it was back at the command prompt (had finished). So single digit minutes build time.

I opened the .iso that had been produced and copied out the initrd and
vmlinuz and set up grub4dos menu.lst to boot those files, along with
network connect ...

# menu.lst
color white/blue black/cyan white/black cyan/black
timeout 10
default 0

title Fatdog
root (hd0,0)
kernel /fatdog-build/vmlinuz net=wpa2:VM123456-2G:abcd1234:wlan0:dhcp pkeys=uk
initrd /fatdog-build/initrd

and it booted OK. At login prompt entered userid 'root' and it auto logged in
upon pressing <enter>

vmlinuz filesize around 6MB
initrd filesize (with kernel modules and main sfs integral to that) around 116MB

Font was small so once logged in I cd /lib/boot/consolefonts and ran
setfont ./big.psf.gz
... to load a larger font


ping google.com
... worked OK ... etc

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3623

PostPosted: Tue 08 Oct 2019, 16:24    Post subject:  

Edited sfs-baselist to add mc (and its required dependencies) and screen (multiplex terminal) so that snippet of code section now looks like ...

Code:
vim-8.0.586-x86_64-1
##grub-bios # build later, together with the other bootloaders
mc-4.8.22-x86_64-1
gpm-1.20.7-x86_64-1
libssh2-1.8.0-x86_64-1
glib-2.58.1-x86_64-1
openssl-1.1.0j-x86_64-1
libpcre-8.42-x86_64-1
screen-4.6.2-x86_64-1


### end of CLFS, start of CBLFS and beyond


I also changed build-iso.sh to use lz4 high compression instead of xz (builds a lot faster and only a modest increase in filesize (due to less tight compression)

SQUASHFS_PARAM=${SQUASHFS_PARAM--comp lz4 -Xhc}

A nice little bootup for cli junkies (ssh'ers). Great how fatdog supports just specifying your wireless ssid and password as part of the kernel boot parameters and starts up already wireless net connected.

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3623

PostPosted: Tue 08 Oct 2019, 21:06    Post subject:  

Also added fbterm and netsurf-fb .. and the final filesize for initrd isn't that much larger. Doesn't work as-is however (well fbterm does, but not netsurf-fb)
Code:
### fbterm
fbterm-1.7.0-x86_64-1
freetype2-base-2.9.1-x86_64-1
fontconfig-2.13.0-x86_64-1
libpng-1.6.34-x86_64-1
# font-cantarell-0.0.25-noarch-1  # horrible looking font
font-terminus-ttf-4.46.0-noarch-1 # nicer font or ... (use fbterm --font-size=32)
#font-inconsolata-2.001-noarch-1 # nice, but mc needs -a to display properly
### netsurf
netsurf-fb-3.8-x86_64-1
gtk2-2.24.32-x86_64-1
librsvg-2.40.20-x86_64-1
expat-2.2.5-x86_64-1
libpng12-1.2.59-x86_64-1
libjpeg-turbo-1.5.3-x86_64-1
curl-7.64.0-x86_64-1
libSDL-1.2.15-x86_64-1
libxcb-1.13.1-x86_64-1       # ?? might not be required ??
xcb-util-0.4.0-x86_64-1
xcb-util-image-0.4.0-x86_64-1
xcb-util-keysyms-0.4.0-x86_64-1
xcb-util-renderutil-0.3.9-x86_64-1
xcb-util-wm-0.4.1-x86_64-1
libidn2-2.0.4-x86_64-1
librtmp-2018.05-x86_64-1
libXau-1.0.8-x86_64-1
libXdmcp-1.1.2-x86_64-1
harfbuzz-1.7.6-x86_64-1
libunistring-0.9.8-x86_64-1
libgnutls-3.6.2-x86_64-1
libnettle-3.4-x86_64-1
libgmp-6.1.2-x86_64-1
libgraphite2-1.3.11-x86_64-1
libp11kit-0.23.9-x86_64-1
libtasn1-4.13-x86_64-1
libpcre-8.42-x86_64-1
libffi-3.2.1-x86_64-1
tslib-1.16-x86_64-1
# starts to black screen with redirected error message indicating ...
# Message translations failed to load
# Unable to initialise the font system

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3623

PostPosted: Wed 09 Oct 2019, 07:33    Post subject:  

Built the standard model, but then removed the fd64.sfs from initrd and also extracted the kernel modules sfs and reformed it with no compression (-noI -noD -noF -noX mksquashfs parameters)

Then extreme compressed that initrd (xz -e --check=crc32), which yielded a 49MB initrd.xz alongside a 6MB vmlinuz

Set grub4dos to boot that, to initrd cli (lateshell boot parameter) together with wireless net connection
Code:
title Fatdog8
root (hd0,0)
kernel /fatdog-build/vmlinuz net=wpa2:VM123456-2G:abcd1234:wlan0:dhcp pkeys=uk lateshell
initrd /fatdog-build/initrd.xz

Booted fine and from the initrd's cli I could ssh into other boxes, mount drives ..etc. First thing I tend to do when booted is ...
cd /lib/boot/consolefonts
setfont ./big.psf.gz
... as that's a more comfortable font size for me compared to the default tiny text.

Downloaded a fd64.sfs into the / folder of that initrd cli session and typed 'exit' to exit the initrd cli and resume bootup and it booted to the standard Fatdog gui desktop.

The small size of that setup (6MB vmlinuz, 49MB initrd.xz) fits better with PXE booting (slow tftp data transfer). PXE booting does require a hardwired LAN (ethernet) so if your laptop has no ethernet connection you'd have to boot that vmlinuz/initrd.xz using usb or CD/DVD, but once booted to initrd cli with net connected you can pretty much pull down the larger fd64.sfs (main system) from pretty much anywhere. A reasonable choice for centralised administration of the main OS (multiple users sharing the same fd64.sfs build).

Note that it was better (smaller initrd.xz filesize) to do it that way ... non compressed kernel modules sfs file inside initrd and compress initrd - than it was to use high compression for the kernel modules and gzip the initrd (that yielded a 66MB initrd.gz filesize). Saved around 17MB (combined vmlinuz + initrd of 55MB versus 72MB).

Of course you don't have to use the fd64.sfs as the main system choice, could be any main sfs, from anywhere, provided it was compatible with the vmlinuz/initrd.

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
jamesbond

Joined: 26 Feb 2007
Posts: 3373
Location: The Blue Marble

PostPosted: Wed 09 Oct 2019, 09:21    Post subject:  

Yup, how do you like the flexibility? Very Happy
_________________
Contributed Fatdog64 packages
Back to top
View user's profile Send private message 
belham2

Joined: 15 Aug 2016
Posts: 1696

PostPosted: Wed 09 Oct 2019, 10:16    Post subject:  

jamesbond wrote:
Yup, how do you like the flexibility? Very Happy


LOL Laughing

Yup, I tell my lifelong-one-mouseclick-Microsoft-using friends that if they ever have hesitations about coming to the puppy/ddog/fatdog-verse, to just come to 'mother murga' & read rufwoof's posts across various threads to see how easy it all is.

Unfortunately I never hear from them again...... Sad
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3623

PostPosted: Wed 09 Oct 2019, 14:05    Post subject:  

belham2 wrote:
Yup, I tell my lifelong-one-mouseclick-Microsoft-using friends that if they ever have hesitations about coming to the puppy/ddog/fatdog-verse, to just come to 'mother murga' & read rufwoof's posts across various threads to see how easy it all is.

Unfortunately I never hear from them again...... Sad

Don't blame me for having no friends.

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3623

PostPosted: Wed 09 Oct 2019, 14:06    Post subject:  

jamesbond wrote:
Yup, how do you like the flexibility? Very Happy

Smile

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 4 of 4 [57 Posts]   Goto page: Previous 1, 2, 3, 4
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0737s ][ Queries: 13 (0.0146s) ][ GZIP on ]