Auto-build a Puppy iso; single script with optional gui

A home for all kinds of Puppy related projects
Post Reply
Message
Author
wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

Auto-build a Puppy iso; single script with optional gui

#1 Post by wiak »

Single script to build a Puppy automatically from woof-CE

Sorry, there is a lot to read here. This post badly needs re-organised/re-written but not sure when I'll do that. Anyway, simple usage is to create empty build directory (on filesystem that has lots of space on it...); put makepup script into that and make it executable with chmod +x; and then run it in gui mode with makepup -g; then uncheck the -k keep previous downloads advanced option, and press "Build your pup!". It takes ages... However, after first build you can rebuild another one without having to download all the distro packages again (just specify the -k keep advanced option when running makepup -g this other time...). So handy for experimenting with different builds.

BionicPup64 is currently the default build (i.e. -t 3 -d 2 -r 1)

If instead you are building upupBB32, please note the following post from PeeBee regarding kernels for it:

http://murga-linux.com/puppy/viewtopic. ... 107#994107

I wouldn't recommend building a pup on a usb stick via usb2 interface - that takes forever (very slow), but fine on a hard drive partition in my experience.
========================================

gui has gettext dialogs so looking-for/inviting language translators and for testing.
------------------------------------------------------------------------------------
Translations for makepup gui (many thanks to the authors as listed)

Note that I'm not sure how current these translations are. Please test.

nilsonmorales: Spanish NLS for makepup, fake .tar, delete: http://www.murga-linux.com/puppy/viewto ... 250#967250
RSH (LazY Puppy): German NLS: http://www.murga-linux.com/puppy/viewto ... 032#968032
-------------------------------------------------------------------------------------

makepup can be used when you want to set up an unattended (or almost unattended) Pup build from woof-CE (woof-CE provides the distribution; makepup just automates the selection of choices and now automates addition of extra dotpets, distro-compatible packages, and kernels, without needing to remaster the iso). A nice example of using makepup's pets2add facility to add missing build libs can be found via link below (thanks davids45). Note that, since current woof-CE pet install mechanisms won't resolve dependencies it is important to include all dependency pets when using pets2add or pkgs2add. However, this makepup extra facility to bog-standard woof-CE remains very handy for installing simple Puppy gtkwialog utility pets such as weX, Precord or 'other' without needing to also remaster the iso):

http://www.murga-linux.com/puppy/viewto ... 898#968898

More details of makepup usage of other facilities here per the previous 0.1.2 version:

http://www.murga-linux.com/puppy/viewto ... 512#968512

Note that any huge_kernel tarball placed in local-repositories/kernel2add/ will be automatically used in preference to any other selected. (Note folder name changed from kernels2add into kernel2add (singular).
If more than one huge kernel tarball in local-repositories/kernel2add then script will automatically pause during 3builddistro-Z process and ask user to choose from these kernels.

Usage: Just run the makepup script in gui mode (makepup -g) from terminal at required build directory and press Build button (or select from some options first, such as default selected -k option, to keep previous downloads)!

A default versions of makepup.conf text-based config file is generated automatically if one has not already been created.

Commandline arg options override the makepup.conf file settings and if makepup gui is used the options selected there override all others.

See below for details of operation.

This version of makepup includes the ability to add your own dotpets to the build by simply drag and drop[/b] your dotpets to folder local-repositories/pets2add/ and tick checkbox makepup option -a (or --addpets) in the advanced tab of the gui. You no longer need to edit any woof-CE config files for this; makepup now does it for you automatically. Personally, I like to also tick optional checkbox for pause [-p] just in case I change my mind and want to add something else at that end-of-woof-CE-0setup stage. Same now for distro-compatible pkgs2add. Note that I don't know if any dependencies are being resolved - don't seem to be. I'll have to look into the related woof-CE code for answers to that...

Note that you need to create the directory local-repositories/pets2add/ and then simply drop the dotpets you want added to the build into that (local-repositories/ is in same dir as where makepup script is). In practice, however, you can actually let makepup create the directory for you automatically if you want (it does so as soon as it starts up).

The makepup gui now includes button to open filemanager at local-repositories/pets2add/ directory so you can conveniently drag and drop dotpets there to automatically include in your build.

If you wish, you can also still add dotpets to the build manually, using makepup --pause in makepup, as explained in below link (but not necessary anymore since this method is what makepup now automates):

Some (old, now unnecessary) details of using --pause (-p) makepup option to manually arrange adding dotpet packages to build can be found here:

http://www.murga-linux.com/puppy/viewto ... 945#967945

the makepup download is available near the foot of this post. Put a copy of the script in a Linux compatible filesystem (e.g. ext2, ext3, ext4 etc) in the directory you want to make the woof-CE build (around 4 to 5 GB free space is required - a Linux formatted usbstick would be fine, or harddrive with suitably-formatted Linux partition).

To run with gui, open terminal at the above directory (i.e. cd into it), and then:

Before running the script, remove the dummy .tar extension. Open a terminal where the script is, and make it executable with command:

Code: Select all

chmod +x makepup
followed by:

Code: Select all

./makepup -g
(or ./makepup --gui)

Once you are happy with the settings in the gui, simply press button "Build Your Pup!" and then answer the couple of terminal outputted questions with y followed by Enter (to confirm) and then go and have a coffee or something whilst you wait patiently for your Pup to be built to completion. Once the scripts have finished, you should find your built Puppy in woof-out_*/sandbox3/build (as frugal install files) or as a bootable iso in woof-out_*/woof-output-*.

For details of running makepup with commandline switches see this older post:

http://www.murga-linux.com/puppy/viewto ... 761#966761


Hopefully makepup is useful if you need to upgrade your distribution with new security fixes and so on since re-running makepup with the same selections will by default download any changes packaged (and can be only changed ones) and rebuild the iso. Updating critical packages can often be difficult or impossible whilst the Puppy is actually running so makepup provides one way currently round that issue.

Disclaimer: For above upgrade scheme to work it is very important that woof branch distro developers maintain their woof-CE builds carefully (and avoid using remastering techniques) since makepup can only (currently) download what is actually provided by woof-CE. makepup may also be useful for experimenting with woof-CE builds so you don't have to sit there continually select options throughout the build process each time you want to rebuild! Not everyone will find makepup useful.


For commandline usage examples see: Some Simple one-liner Build Pup Recipes Using makepup

With makepup any distribution type of Pup can be built that is supported by woof-CE (e.g. slackware, debian stretch, ubuntu xenial, devuan, trisquel).

Please refer to the following post for numeric values for the optional commandline arguments to makepup:

http://www.murga-linux.com/puppy/viewto ... 543#965543

Before using makepup, please read all of the following carefully. The usual disclaimers apply in terms of using this script at your own risk, though I can't imagine any major issues...

NOTE WELL: At the current stage, the attached "makepup" script needs to be run on a relatively recent Puppy Linux system (not on any other type of Linux system). I developed and tested it on my PuppySlacko64 version 6.3.2 system. No devx needs to be loaded though for some woof-ce-derived distros you may end up with smaller iso if devx is loaded - depends if any binaries need stripped (the program that can do binary strip is in devx).

The default config builds a woof-CE slacko-6.9.9.9.iso from woof-CE-testing branch (using default hugekernel huge-4.4.70-s32-700_PAE) and also by default requires no user input or interaction once the initial "Enter y to continue, any other key to quit" questions are answered. However, the script should basically build from any branch and for any distro once supplied with appropriate commandline options or makepup.conf configuration file.

The directory you run the script from should be on a Linux filesystem (e.g. ext2, ext3, or ext4) of sufficient space to build the new Puppy. The filesystem I used it on had 5GB free and that proved sufficient to complete the build. I don't at this stage know what minimum free space would be sufficient.

Using:

No script installation is required. Simply download the "makepup.tar" script and copy it into the directory you wish to build the Puppy iso in. You do not need to download or clone woof-CE; the script takes care of all that for you.

Before running the script, remove the dummy .tar extension. Open a terminal where the script is, and make it executable with command:

Code: Select all

chmod +x makepup
Finally, in that same directory, in the terminal, build your woof-CE derived Puppy iso by simply entering the command:

Code: Select all

./makepup
-------------------------------

Notes:

Once the script has finished you will find the bootable iso in directory:

woof-out_<main_distro_name>/woof-output-<derived_distro_name>

Per standard woof-CE practice, the script also provides the files required for a frugal install separately in directory:

woof-out_<main_distro_name>/sandbox3/build

NOTE WELL that the script does present the usual woof-CE build script dialogs, some of which may appear on the screen for a few seconds. But by default, you should not answer the questions manually because the makepup script will by default do that for you. The first build takes a long time, since all woof-CE files are being downloaded from woof-CE github, so be patient!... Later builds can use the already downloaded files so bandwidth is saved and build time much less.

The script has only been briefly tested (since tests take a long time because of the amount of downloading involved in building the iso) and should be considered alpha at this stage.

If you want to try modifying the default script yourself, be warned that you should brush up on sed first (!) since it uses sed as an alternative to the likes of tcl expect for auto dialog answering (tcl expect would have required a big download but the makepup script could easily be modified to use that as an alternative).

Although, by default, no separate config files are required, makepup can utilise two separate config files, which need to be stored in the same directory as the makepup script itself: makepup.conf and makepup_extra.conf. The makepup_extra.conf file stores a list of the special woof-out_*/rootfs-packages extra you might also want to install.

You can use option -p (--pause) to pause the script at a convenient time to modify the list of optional extra packages you might want to install (which you will add to makepup_extra.conf config file). To do that you would run the script to include the option like so:

Code: Select all

./makepup -p [any other optional args you like]
The script will continue on to completion from that stage but you can exit it at that time, for examining the config files (makepup_extra.conf and DISTRO_PKGS_SPECS-distro-version) in a text editor, if you wish.

If you also want a devx squashfile to be created, use option --DEVX (or -D) on the commandline (note it is capital D).

There are some other makepup options. You can view brief usage with command:

Code: Select all

./makepup -h
wiak
Attachments
makepup.tar
makepup ver 0.1.9 Just remove dummy tar and chmod +x
(32.79 KiB) Downloaded 478 times
Screenshot_Basic.png
screenshot gui basic settings
(17.56 KiB) Downloaded 5971 times
Screenshot_Advanced.png
screenshot gui advanced options
(20.12 KiB) Downloaded 5846 times
Last edited by wiak on Wed 20 Mar 2019, 04:06, edited 148 times in total.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

current lists of select/choose numbers

#2 Post by wiak »

NOTE WELL that the number lists below are now out-of-date

For your convenience. Here are the current lists of select/choose numbers for:

Since above may alter with woof-CE changes, here is current (15 June 2018) merge2out numeric value examples:

Code: Select all

1  arm
2  x86
3  x86_64
Type number of target architecture: 2
-----

Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro"

1  debian
2  devuan
3  slackware
4  ubuntu
Type number of compat-distro: 4 
-----

1  trusty
2  upupbb
3  xenial
Type number of release: 
==============================================

Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro"

1  debian
2  devuan
3  slackware
4  ubuntu
Type number of compat-distro: 3
...ok, slackware
-----
The compat-distro usually has release versions
Choose which release you want to obtain the binary packages from.

1  14.0
2  14.1
3  14.2
Type number of release: 
==============================================

Please choose the target architecture.. (the target
is the machine in which the Puppy that you build is going to run):

1  arm
2  x86
3  x86_64
Type number of target architecture: 2
...ok, x86

Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro".

1  debian
2  devuan
3  slackware
4  ubuntu
Type number of compat-distro: 2
...ok, devuan

The compat-distro usually has release versions
Choose which release you want to obtain the binary packages from.

1  ascii
...ok, ascii

Choices:
Host architecture:     x86
Target architecture:   x86
Compatible-distro:     devuan
Compat-distro version: ascii
==============================================

Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro".

1  debian
2  devuan
3  slackware
4  ubuntu
Type number of compat-distro: 1
...ok, debian
-----
The compat-distro usually has release versions
Choose which release you want to obtain the binary packages from.

1  stretch
...ok, stretch
==============================================

Please choose the target architecture.. (the target
is the machine in which the Puppy that you build is going to run):

1  arm
2  x86
3  x86_64
Type number of target architecture: 3
...ok, x86_64

Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro".

1  slackware64
2  ubuntu
Type number of compat-distro: 2
...ok, ubuntu

The compat-distro usually has release versions
Choose which release you want to obtain the binary packages from.

1  trusty64
2  xenial64
Type number of release: 
==============================================

Please choose the target architecture.. (the target
is the machine in which the Puppy that you build is going to run):

1  arm
2  x86
3  x86_64
Type number of target architecture: 3
...ok, x86_64

Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro".

1  slackware64
2  ubuntu
Type number of compat-distro: 1
...ok, slackware64

The compat-distro usually has release versions
Choose which release you want to obtain the binary packages from.

1  14.0
2  14.1
3  14.2
Type number of release: 
==============================================

NOTE WELL that in makepup ver 0.0.5 option -K/--KERNEL has been replaced with -H/--HUGEKERNEL
-K is now used to mean --KEEPKERNEL (indicates to use previously downloaded kernel, which is now automatically stored in local-repositories/keepkernel/ directory)

Code: Select all

--target: 1 is arm, 2 is x86, 3 is x86_64

--distro: 1 is debian, 2 is devuan, 3 is slackware, 4 is ubuntu

--release
Debian:  1 is Stretch
Devuan: 1 is ascii
Slacko:   1 is 14.0, 2 is 14.1, 3 is 14.2

The following is currently for 32bit Pups:
Ubuntu:  1 is trusty, 2 is upupbb, 3 is xenial

-H/--HUGEKERNEL: # as offered during slackware-based build
1 huge-3.0.103-tahr_noPAE_retro.tar.bz2
2 huge-3.12.21-slacko4G-i686.tar.bz2
3 huge-3.12.22-tahr-PAE-i686.tar.bz2
4 huge-3.14.20-tahr_PAE.tar.bz2
5 huge-3.14.20-tahr_noPAE.tar.bz2
6 huge-3.14.54-slacko32_noPAE.tar.bz2
7 huge-3.14.54-tahr_64.tar.bz2
8 huge-3.14.55-slacko_noPAE.tar.bz2
9 huge-3.14.56-tahr_PAE.tar.bz2
10 huge-3.14.56-tahr_noPae.tar.bz2
11 huge-3.14.79-tahr64.tar.bz2
12 huge-3.14.79-tahr_noPAE.tar.bz2
13 huge-3.16.43-s32-700.tar.bz2
14 huge-3.16.43-s64-700.tar.bz2
15 huge-3.18.22-slacko64.tar.bz2
16 huge-3.18.22-slacko_noPAE.tar.bz2
17 huge-3.4.103-tahr_nopae.tar.bz2
18 huge-3.4.94-slacko4G2-i686.tar.bz2
19 huge-4.1.11-slacko64_2.tar.bz2
20 huge-4.1.11-slacko_PAE.tar.bz2
21 huge-4.1.11-tahr64_2.tar.bz2
22 huge-4.1.30-xenial_PAE.tar.bz2
23 huge-4.2.5-slacko64.tar.bz2
24 huge-4.4.70-s32-700_PAE.tar.bz2
25 huge-4.4.70-s64-700.tar.bz2
26 huge-4.9.13-xenial_noPAE.tar.bz2
27 huge-4.9.13-xenialpup64.tar.bz2
28 huge-4.9.15-xenialpup64.tar.bz2
29 huge-4.9.30-s64-700.tar.bz2
When no option arguments are given makepup is currently using defaults: -t 2 -d 3 -H 24

Can build, for example, XenialPup64bit, using huge-kernel version 4.9.15 with:

Code: Select all

./makepup -t 3 -d 5 -r 2 -H 28
That is:

Code: Select all

./makepup \
--target <number>   numeric TARGETARCH choice. e.g. 3 for x86_64
--distro <number>   numeric COMPATDISTRO choice. e.g. 5 for ubuntu
--release <number> numeric COMPATVERSION choice. e.g. 2 for xenial
--KERNEL <number> (numeric HUGEKERNEL choice. e.g. 28 for huge-4.9.15-xenialpup64.tar.bz2
wiak
Last edited by wiak on Thu 14 Mar 2019, 06:34, edited 11 times in total.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#3 Post by musher0 »

Helloo wiak.

Only Slacko's, yes?

How do I make a Debian Pup with your script?

Thanks in advance.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#4 Post by ally »

build completed, available here: http://archive.org/download/Puppy_Linux ... 9_wiak.iso

:)

edit: created using lenovo x230 running xenialpup64 7.0.8.5
Last edited by ally on Thu 31 Aug 2017, 09:47, edited 1 time in total.

zagreb999
Posts: 567
Joined: Fri 11 Apr 2014, 06:39
Location: Yugoslavija

lz4, remaster

#5 Post by zagreb999 »

great project---


what about lz4 full
and quick remaster....
as in debiandog...

what about desktops...
kernels....

thanks

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

Re: lz4, remaster

#6 Post by wiak »

zagreb999 wrote: what about lz4 full
and quick remaster....
as in debiandog...
Hi zagred!

Your question is about woof-CE, not really about makepup itself. makepup could be developed to provide pretty much anything woof-CE offers really.If woof-CE puppy doesn't provide these facilitiies you want it is probably best to ask for them on the woof-CE threads since it is there you are more likely to find the people with woof-CE expertise. I certainly monitor woof-CE threads, and depending what is said there may be able to use that info in makepup developments. I certainly hope the likes of 01micko could help since one of my reasons for creating makepup is to try and help make woof-CE more accessible to less-technical users.

The main current purpose of makepup is to act as a frontend 'bot' to the scripts used to build woof-CE. As a kind of bot, it automatically can modify anything in the woof-CE-provided build scripts such as 0setup, 1download, 2createpackages, 3builddistro-Z - indeed any text-based script provided in woof-CE directories could be arranged to be automatically modified by makepup.

Of course, being a simple script, makepup could no doubt be developed to add extra facilities itself, though at this stage I don't know what exactly.

Neither woof-CE itself or makepup is anything to do with debianlive based systems such as DebianDog, though some of the utilities used in DebianDog might be usefully added to Puppy (and vice versa). I have contributed to the recent mklive-stretch debiandog project with some code and code ideas, but makepup has nothing to do with that project or script.

makepup is written entirely from scratch with entirely different code. The debiandog mklive-script relies greatly on the underlying debootstrap work of the huge Debian team, since that builds the core system, which Fred thereafter bolts things onto. Worth remembering that the Puppy developers don't have that major core distribution building pre-done for them by the huge distribution team of Debian.

Yes, Puppy can use debian packages (or slackware packages etc), but the core Puppy distribution is designed from scratch so woof-CE is a major and amazing piece of work by a very small but dedicated team of developers (much of the work being originally by one man, BarryK). So I think it is fair to remark that there is much less work involved in developing any debianlive system than in developing a whole new distribution from scratch, which is what Puppy is. Comparing the two is definitely like comparing apples to oranges. Whilst there may be things some don't like about woof-CE, it clearly does work, which is incredible when you examine all it has to do, and woof-CE is what we make it (and makepup therefore too).

@musher: as I said, this is the first release of makepup and by default, partly as a demo, it will build a slackware-based puppy iso automatically. If you have tried the script and entered command "./makepup --help" you will notice it contains provision for other woof-CE build branches and distros and versions of these, and also for different kernels. In fact it provides all that the underlying woof-CE system can provide. I'm not saying it is straightforward to 're-program' makepup to successfully build other Pup distro versions; one thing that makes success more likely is if standard woof-CE manual build system can successfully build the alternative distribution choice: makepup, on the whole, relies on underlying woof-CE branches to be working.

Again, being just a shell script, makepup could certainly be developed to make choices and operation much easier from a users perspective - this is the first version of the script... makepup uses sed program a lot to dynamically modify existing build scripts - that's not particularly easy to code so anyone wanting to help improve makepup would be advised to brush up on sed to a high level. The fact that makepup basically works is testament to the achievements of the woof-CE build-system team and also to sed, which is an amazing program for automatic text editing/script/modification even though most people only know sed to use for single-line search/replace...

How much I do or don't develop makepup depends of course on user interest and input (and response from knowledgable woof-CE developers). I just hope makepup brings some deserved interest to woof-CE unique Puppy development itself, no matter how good other puppylike systems may be or become. It is all very well to rely on Debian for main system - of course Debian-based systems are bound to be good since huge Debian team provides the bulk of the core distribution work. But would be a sad state of affairs if people lost the creative ability to develop entirely different systems, such as Puppy linux, from scratch. Unlike the debiandogs, Puppy does not have the benefit of a huge Debian team building a Puppy-bootstrap or similar core build system for it.

I certainly, nevertheless, also like and appreciate the debiandogs, and use them and contribute to them best I can, but in terms of creative development work importance, I particularly like to see Puppy Linux itself directly supported, despite its small underlying development team, and hence my effort here.

Puppy is amazing, let's not forget that - it, and particularly its build system, woof-CE, deserves all the support we can give it.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#7 Post by wiak »

ally wrote:build completed, available here: http://archive.org/download/Puppy_Linux ... 9_wiak.iso

:)
Thanks ally! An honour indeed! :-)

But most credit goes to woof-CE team of course.

wiak

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

32-bit and non-PAE?

#8 Post by davids45 »

G'day wiak,

Thank you for posting this interesting script.

I like to try out Pups but have no idea of how to create one so maybe this will help me expand my Pup experiences.

I have old desktops all with less than 4GB of RAM.
While they are 64-bit compatible, I already have an extensive library of 32-bit sfs and pets - 64-bit seems to lack the same range of extra packages.

Wine in 32-bit Puppies is well catered for by version2013 whereas 64-bit wine has not proved as available or robust - I have two often-used Windows programs for which I don't have an equivalent linux, so Wine is a 'must-have' for me.

When I've tried PAE versions of 32-bit Pups, I've had more crashes - not that many, but I suspect the non-PAE is better for my low-RAM systems.

So, is your script amenable to building a 32-bit, non-PAE kernel Pup?

The recent Debian CE Pups I've tried have a printing problem (ghostscript failing) which I have a fix for, but I've found Ubuntu Pups (e.g. from 666philb) the most reliable 'out-of-the-box' so I'm thinking of trying Ubuntu - if they still do 32-bit?

Any indication of how long the build process takes (on a 1GB RAM 32-bit old computer)? Best done over-night, for example?

Is it OK to use a temp directory on a boot-mounted data partition for this building? That's where I have lots of space. My Frugals' partitions can be a bit crowded and my Full Pups only get about 3GB each.

Thanks for any advice.

David S.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

Re: 32-bit and non-PAE?

#9 Post by wiak »

davids45 wrote:
So, is your script amenable to building a 32-bit, non-PAE kernel Pup?

...

Is it OK to use a temp directory on a boot-mounted data partition for this building? That's where I have lots of space.
Hello David,

The answer to these two questions, is yes, should be possible to build anything woof-CE has to offer. Having said that I haven't tried any other build than the default one makepup produces. I chose that one for no other reason than it was one of the first I tried and it worked! Been busy finishing/polishing/bug-fixing some of the 0.0.1 version of the makepup code since then.

Using a temp directory on Linux formatted partition with lots of space will be absolutely fine (as I said, 5 GB free proved enough for me. Easiest would be to simply use a mounted usb flash stick, of sufficient size, which has been Linux formatted (I'd use ext2 format on a usb stick - using that slow storage medium might make the build process a bit slower too, though I'm not sure if and by how much since I haven't had time to try that yet either).

I can't say at the moment how long an old 1GB machine would take to build the iso. On a reasonably old, but not too slow Intel dual core 2 based machine, which is what I generally us, the build only takes maybe an hour or less even. So on, for example, an old Pentium M, 1GB class machine, maybe it will take a few hours at most(?) - but if it is internet download speed which is main build speed factor then it might not even take that long on such a machine. As it happens, I do have an old 1 GB machine lying around that uses a non-PAE Pentium M processor so I'll endeavour to try on that sometime and report back. I believe, by the way, that there is often a bootcode that can be supplied, at boot time, to force=pae kernels to work even on an otherwise non-PAE machine like my Pentium M one, but I'm not sure of the boot code for that in Puppy Linux so hopefully someone will remind us in case that helps.

As for for trying to build other distro/kernel versions using makepup, I'll get round to that soonish. Main problem is that not all woof-CE possible creations all produce good isos (I tried a Ubuntu Xenial pup build manually on woof-CE but it didn't boot into the gui). And each build attempt, as you know, takes quite a bit of time so tricky to find successful ones. One of the reasons I have posted the script at this early stage is to see if others succeed in building other Pup distro variants and report back the successful build option details, so hope that happens. In time, I'll also try building a few others and publish what worked for me.

Main time issue for me just now though is that I am busy working on further script developments so don't have much time myself for testing different distro/kernel combinations - but will certainly be possible.

Another reason I published this script, by the way, is exactly because I want to encourage others to try building their own woof-CE based pups even though they do not understand woof-CE in any way at all. By simply running the single makepup script and watching progress a lot about woof-CE can be learned and hopefully, over time many others will start becoming familiar with the woof-CE building process (or as automated by makepup script).

In future posts I'll definitely be posting more info about kernel choices and so on that can be made and about any successful build attempts I have made.

wiak

Sailor Enceladus
Posts: 1543
Joined: Mon 22 Feb 2016, 19:43

#10 Post by Sailor Enceladus »

The fdrv from Slacko 6.9.9.9 is missing so my wireless is not detected on either laptop. It also seems that Frisbee and Dougal's Network Wizard is missing, I normally use SNS but I know others might want the others included or as at least have them for a backup option. I think these are more internal Woof-CE default build settings issues than from wiak's script specifically though.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#11 Post by wiak »

Sailor Enceladus wrote:The fdrv from Slacko 6.9.9.9 is missing so my wireless is not detected on either laptop. It also seems that Frisbee and Dougal's Network Wizard is missing, I normally use SNS but I know others might want the others included or as at least have them for a backup option. I think these are more internal Woof-CE default build settings issues than from wiak's script specifically though.
@Sailor

I'll answer your above comment later today because I'm currently making an "extra-packages" modification to makepup and the answer I give will be effected slightly by that change.

wiak

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

First try

#12 Post by davids45 »

G'day wiak,

Thanks for your reply to my questions above.

I have had a try last night of makepup, with the defaults, setting up a directory in a Frugal Slacko-6.9.9.9 (I have several versions already :) ) in one of my Frugals' partitions - the one with most free space.

Over about two hours, during the occasional check, I saw an alphabetic download of files but then the program stopped with an ERROR message in the terminal (see screenshot).

The makepup directory contained several sub-directories (screenshot) and had reached a size of over 3GB when the error stopped the process (screenshot).

When I try again, I guess I should delete these directories as makepup would not check for earlier tries and take over from where it had stopped?

David S.
Attachments
makepup-termnial-error.png
terminal terminal window from makepup trial
(32.81 KiB) Downloaded 8369 times
makepup-directory.png
directories created to stopping point
(15.4 KiB) Downloaded 8405 times
makepup-directorysize.png
directory size at stopped due to error
(19.33 KiB) Downloaded 8292 times

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#13 Post by wiak »

Hi David,

Coincidentally, I'm working on exactly the same error message at the moment. Did you start your build from a completely empty build directory? I mean completely empty apart from the makepup script (i.e. no local-repositories dir and no WOOF-CE directories previously downloaded still there).

The script was working fine EDIT: when I uploaded it a few days ago from a completely empty build directory, so I'm just checking if anything has changed anywhere. Unfortunately all such builds take so much time, errors are a real pain...

wiak
Last edited by wiak on Mon 28 Aug 2017, 00:56, edited 2 times in total.

User avatar
Billtoo
Posts: 3720
Joined: Tue 07 Apr 2009, 13:47
Location: Ontario Canada

Auto-build woof-CE Puppy using single script

#14 Post by Billtoo »

I ran the script in a new work directory on the hard drive, while the
script was running I copied huge-4.4.84-slacko.tar.bz2 to the
huge_kernel directory in woof-out_x86_x86_slackoware_14.2 directory.

# uname -ra
Linux puppypc10491 4.4.84-pae #1 SMP Sun Aug 27 16:10:02 EDT 2017 i686
Pentium(R) Dual-Core CPU E5200 @ 2.50GHz GenuineIntel GNU/Linux
#


I installed the iso to the hard drive:

# inxi -bw
System: Host: puppypc10491 Kernel: 4.4.84-pae i686 (32 bit) Desktop: JWM 2.3.2 Distro: Slacko Puppy 6.9.9.9
Machine: Device: desktop System: Compaq-Presario product: AU194AA-A2L CQ5123F serial: MXX9300M0F
Mobo: MSI model: Boston v: 1.0 BIOS: Phoenix v: 5.24 date: 06/19/2009
CPU: Dual core Pentium E5200 (-MCP-) speed/max: 1600/2500 MHz
Graphics: Card: Intel 82G33/G31 Express Integrated Graphics Controller
Display Server: X.org 1.18.3 drivers: intel (unloaded: modesetting,fbdev,vesa)
tty size: 136x39 Advanced Data: N/A for root
Network: Card-1: Realtek RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller driver: r8169
Card-2: Linksys WUSB54GC v1 802.11g Adapter [Ralink RT73] driver: rt73usb
Drives: HDD Total Size: 500.1GB (12.0% used)
Weather: Conditions: 72 F (22 C) - Mostly Cloudy Time: August 27, 6:57 PM EDT
Info: Processes: 154 Uptime: 1 min Memory: 95.7/4026.6MB Client: Shell (bash) inxi: 2.3.8
#

It didn't make a devx so I'm using an older one, have the kernel_sources-4.4.84-slacko.sfs installed too.
SNS setup the wireless.
It's working okay so far.
Attachments
screenshot.jpg
(97.28 KiB) Downloaded 8356 times

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#15 Post by wiak »

Thanks for that report, Billtoo.

Yes, as far as the huge kernel is concerned, copying a tarred up one, like you chose to do, into that huge_kernel directory does indeed result (via woof-CE huge_kernel.sh) in that being used rather than the one set by makepup script.

As far as the devx is concerned, there is an option included -D or --DEVX that is intended to build the devx if that option is included on the commandline, but I haven't myself tested if that option works yet:

Code: Select all

./makepup -D
wiak

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

huge kernel missing?

#16 Post by davids45 »

G'day wiak (and Billtoo),

Well, I think I started with an empty directory with just the make-pup script in it. I could be wrong :oops: .

The ERROR that stopped my first trial seemed (to me, reading the terminal window at the end) to be it couldn't find/download the huge-kernel.

Billtoo's post about getting a working makepup-made Pup suggests all he did was put the missing Slacko huge-kernel in the directory as a .tar, and then did something/somewhere to finish the iso creation process?

I couldn't find the "woof-CE huge_kernel.sh" mentioned in your last post that may be the something/somewhere he did or ran?

In my archive of Puppy stuff, I do have a couple of old huge-kernels from playing around with up-dating Tahr Pups - but no old or new Slacko huge kernels.

The EMPTYDIRMAKER text file in my huge_kernel directory seems empty (when I open it in a text editor) and there is nothing else in that huge_kernel directory.

As a believer in hybrids (is my Prius showing? :D ), if I copied a Tahr huge_kernel tar into the huge_kernel directory, would that work to give me a hybrid iso from what's already downloaded, if I was told where to find the script to do so?

David S.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#17 Post by wiak »

Hi David,

I found the problem, I believe. One of the main woof-CE build scripts merge2out was modified by someone two days ago and they seem to have not tested it was still working with downloading kernels before committing it to github. (EDIT: Please don't see that as a criticism - these are human errors inherent in any coding - I do the same all the time - I even upload dotpets only to discover later the last change I made broke everything...)

Yes, Billto's method works round that issue.

Please see below for my comment on relevant merge2out committ woof-CE github. Sorry for all the time wasted. I should probably not use testing branch of woof-CE but other branches may be too old to be interesting... EDIT: decided to keep testing branch as default - previous issues were my own fault for not keeping closer eye on woof-CE developments whilst I was too focussed on makepup code writing ;-)

wiak
Last edited by wiak on Tue 12 Sep 2017, 05:01, edited 2 times in total.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#18 Post by wiak »

place-marked

wiak
Last edited by wiak on Tue 05 Sep 2017, 23:12, edited 1 time in total.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#19 Post by wiak »

place-marked

wiak
Last edited by wiak on Tue 05 Sep 2017, 23:13, edited 1 time in total.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#20 Post by wiak »

@David:

Note well that you DO NOT need to remove the directory local-repositories on new tries of makepup. In fact, it is best not to since local-repositories contains cached the already previously downloaded packages and huge kernel. Keeping that saves bandwidth on later tries since they won't need to be downloaded again.

I believe even woof-out_* directory doesn't need to be deleted, though I don't know at this stage if leaving that dir speeds up the build process or not.

All should be working again now. Please let me know if any other problems surface.
EDIT: using testing branch again but will endeavour to monitor upstream woof-CE changes to keep makepup up-to-date with these.

wiak
Last edited by wiak on Tue 12 Sep 2017, 04:59, edited 1 time in total.

Post Reply