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

A home for all kinds of Puppy related projects
Message
Author
User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#201 Post by ally »

apologies for being a plum, I want to build a x64 xenial with keernel 4.4.35, I've downloaded to the huge kernel folder, I don't understand where I'm dragging the file to using the gui

ta

:)

Terry H
Posts: 708
Joined: Sun 29 Mar 2009, 16:48
Location: The Heart of Muskoka, ON Canada

#202 Post by Terry H »

Wooohooo, I'm sorta late top the party. Just did my first build. I'm posting from it now. Just a basic xenial64. This build system is fantastic. It took about an hour from scratch. Frugal install to my Desktop PC. Wonderful!

Thank you wiak for all the work you put in creating this puppy build system.

Now to have a play and see what i can build.

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

#203 Post by musher0 »

Hi guys.

Speaking of automated kernel building, I'd need a 4.1 32-bit kernel PAE
just about now!!! TIA.

I thought the one offered with the xenialPup-7.0.6_32-bits was PAE but it's not.

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

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

#204 Post by wiak »

ally wrote:apologies for being a plum, I want to build a x64 xenial with keernel 4.4.35, I've downloaded to the huge kernel folder, I don't understand where I'm dragging the file to using the gui

ta

:)
Hi ally,

makepup gui uses:

dir_where_makepup_is_in/local-repositories/huge_kernels

It gets transferred from there into woof-out_*/huge_kernel/ by makepup script during the build and thus used.

An alternative, once woof-out_* is created via merge2out is to use the manual method described by Billtoo here:

http://www.murga-linux.com/puppy/viewto ... 692#965692

But just using the makepup gui to transfer to the folder opened by its 'kernel2add' button (i.e. which is what opens folder: dir_where_makepup_is_in/local-repositories/huge_kernels) is what I myself do.

wiak

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

#205 Post by wiak »

Terry H wrote:Wooohooo, I'm sorta late top the party. Just did my first build. I'm posting from it now. Just a basic xenial64. This build system is fantastic. It took about an hour from scratch. Frugal install to my Desktop PC. Wonderful!

Thank you wiak for all the work you put in creating this puppy build system.

Now to have a play and see what i can build.
Thanks Terry,

But really, makepup is just a frontend to woof-CE (original written by BarryK and since forked and added to by some community members). So makepup is just my attempt to automate the already long-existing woof-CE build system and make it hopefully easy (or easier) to use, with one or two extras in terms of automating adding extra packages and alternative kernels.

wiak

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

#206 Post by ally »

thanks wiak

I had the chosen kernel in the specified folder but I'm at a loss on how to select in to build?

I left the dialogue box alone and it pulled in a slacko kernel during a ubuntu build and I tried dragging the file to the dialogue box then the script got locked in a loop at select kernel

apologies, I still do no understand how I select my kernel

:)

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

#207 Post by musher0 »

Where is this elusive "huge-kernels" repo, anyway?
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Terry H
Posts: 708
Joined: Sun 29 Mar 2009, 16:48
Location: The Heart of Muskoka, ON Canada

#208 Post by Terry H »

wiak wrote:
Terry H wrote:Wooohooo, I'm sorta late top the party. Just did my first build. I'm posting from it now. Just a basic xenial64. This build system is fantastic. It took about an hour from scratch. Frugal install to my Desktop PC. Wonderful!

Thank you wiak for all the work you put in creating this puppy build system.

Now to have a play and see what i can build.
Thanks Terry,

But really, makepup is just a frontend to woof-CE (original written by BarryK and since forked and added to by some community members). So makepup is just my attempt to automate the already long-existing woof-CE build system and make it hopefully easy (or easier) to use, with one or two extras in terms of automating adding extra packages and alternative kernels.

wiak
I am aware of how this is a front end to woof-CE. I appreciate the talents of BarryK with his creation of woof and all who have contributed to the woof-CE system. But I was just really pleased with how it simplified the process so much. I have had no success with any attempts at using woof or woof-CE. Your frontend is a game changer.

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

#209 Post by wiak »

ally wrote:thanks wiak

I had the chosen kernel in the specified folder but I'm at a loss on how to select in to build?

I left the dialogue box alone and it pulled in a slacko kernel during a ubuntu build and I tried dragging the file to the dialogue box then the script got locked in a loop at select kernel

apologies, I still do no understand how I select my kernel

:)
Hi ally,

I think I may (?) understand the problem you are having. I'm busy working on something else at the moment (and about to go out anyway) but I'll try it out myself later today or tomorrow. Looking at my makepup code and the underlying woof-CE support/huge_kernels.sh code, I believe all should be fine if only one huge kernel is being kept (or placed into) local-repositories/huge_kernels (the folder kernels2add opens when you click that makepup gui button). The simple act of putting only a single kernel into there indicates it is selected (so selecting any other kernel in the GUI should make no difference). In other words no selection should need to be done. However, if you happen to have other hugekernels stored in local-repositories/huge_kernels then there may be a problem because I have not accounted for that in makepup (as far as my rechecking the makepup code tells me). So I'll try it out too and see if I can fix that if the problem does turn out to exist in my test.

In the meantime, I suspect it may be a simple matter of deleting one line of code from makepup (but this has not been tried or tested by me yet...):

It's the line at or around line 677 in makepup script, which contains the following code:

Code: Select all

/read choice_k3/ c choice_k3='"$nHUGEKERNEL"' #wiak was: read choice_k3
I'm not absolutely sure (until I try it) but I believe that line is not required at all (I might be wrong!...) so should be deleted. Note that it is NOT enough to simply comment it out because it is actually part of the surrounding sed command so you cannot simply use sh comments in there. i.e. try just deleting that line cleanly - plain and simple. What should then happen is that while the woof-CE processes run in the terminal, at the appropriate moment it would stop, present a short list of the huge_kernels you have provided, and ask the selection question:

Code: Select all

echo "Please choose the number of the kernel you wish to use"
If you only provided one hugekernel then that question would be automatically bypassed anyway.

Anyway, if that turns out to be the problem you have been having I will find out lat er and try to fix that, which hopefully just means deleting that codeline I mention above. Doesn't effect makepup operation otherwise - just for this special case.

Cheers,

wiak

EDIT: I should mention that sometimes the kernel to use is 'forced' by the distribution creator using statement in their provided _00build.conf. For example, debian/stretch build forces use of huge kernel huge-4.1.38-stretch.tar.bz2 because ttuuxxx put the following code into the provided _00build.conf:

## Kernel tarball URL
## avoid being asked questions about downloading/choosing a kernel
KERNEL_TARBALL_URL=http://smokey01.com/ttuuxxx/WoofCe/kern ... ch.tar.bz2

For a case like that you also need to manually comment out that KERNEL_TARBALL_URL line in _00build.conf (can use makepup pause option to help there), but I don't think that is the problem you are having with the distribution you are trying to build (most other distro-builds don't try and force which kernel to use).

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

#210 Post by ally »

thanks wiak

I will try again and report back

regards

:)

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

#211 Post by ally »

ok, still struggling

I've created a huge-kernel using stemsee's SUKK and placed it in local repositories/huge-kernel folder

running the script it does not pick up my kernel but downloads selection 29

what am I doing wrong?

:)

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#212 Post by peebee »

ally wrote:ok, still struggling

I've created a huge-kernel using stemsee's SUKK and placed it in local repositories/huge-kernel folder

running the script it does not pick up my kernel but downloads selection 29

what am I doing wrong?

:)
Is local repositories/huge-kernel linked back to woof_out****/huge_kernel ?

It needs to be....

Similar to packages-pet and packages-*** which are links
Attachments
Screenshot(1).png
(9.99 KiB) Downloaded 421 times
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

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

#213 Post by davids45 »

G'day wiak,

Confirming ally's result, I also tried the idea of having just one huge-kernel in the local repositories/huge-kernels directory (trying a Xenial kernel) but still only made a StretchPup with its 'in-built' one kernel option, this after editing the _00build.conf file found deeply buried in the woof-CE-testing directory as suggested earlier in this thread. No guarantee I did things correctly :oops: .

Can extra kernels in my huge-kernels directory be added to the --KERNEL list (with extra numbers, 30, 31, etc) with any effect? I'm impressed with peebee's ArtfulPup so would like to try this latest Ubuntu option if possible in makepup.

Thanks again for your continued input.

David S.

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

#214 Post by musher0 »

Hi ally.

Nothing, probably. :)

As for me, I didn't fight it.

In my xenial32 incarnation, I replaced the default vmlinuz and zdrv with
-- stemsee's kernel 4.1.2
-- manually
-- in the iso (with isomaster)
-- after wiak's automaton had finished creating the Pup.

The only thing you have to do is rename stemsee's
-- modules-something.sfs which in his kernel archive with
-- a valid zdrv name corresponding to the name of the main sfs,
-- for example: zdrv_xenial_7.0.6.sfs.

IHTH.

If that's the only thing that's left to do, IMO wiak doesn't need to alter his script!
To do so would be encouraging laziness in people!!! :lol: ;)

BFN.
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:

#215 Post by ally »

I've just created a dedicated huge-kernel repo

http://archive.org/download/Puppy_Linux_Huge-Kernels

I'm going to try altering the script URL and give it another whirl

sorry peebee, I don't understand what you've written

I'll report back if it works

:)

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

#216 Post by ally »

ok, the script doesn't like the repo format so no joy

if anybody understands how to run the add kernel button let me know or can build xenial64 with 4.4.35

:)

stemsee

#217 Post by stemsee »

Hey everyone! Thanks for the mentions.

I am going to check this out! SUKK is evolving and now comprises one single script 'nubuild.sh' which at the end offers to install the new kernel ... it should be easy to modify the script to work from within the build environment and/or copy/link to kernels directory. And/or adjust the pup build script to download from ally's repo.

Please feel free to alter my build scripts and configs as your project needs, taking care to rename the script with some personalised prefix ... such as in the case of peebee 'pbuild.sh' etc!

I'll report back when successful.

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

#218 Post by wiak »

peebee wrote: Is local repositories/huge-kernel linked back to woof_out****/huge_kernel ?

It needs to be....

Similar to packages-pet and packages-*** which are links
Sorry, I'm pretty sure the above suggestion that woof-out_*/huge_kernel should symlink back to local-repositories/huge_kernel isn't correct, but I'll have to check all that again to be sure. Rather, there is code in support/huge_kernels.sh that I believe is designed to copy any huge kernel in local-repositories/huge_kernels over into woof-out_*/huge_kernel/.

I'm busy working on something else (and still am), so sorry, I haven't tried this out yet (was also waiting on further reports). I'll try to make time in next day or two and hopefully find out what is going on. As for using ally's huge kernel repo instead of the ibiblio one, that will be a different matter that will need looked into.

In the meantime, the following is the relevant code section in the official woof-CE support/huge_kernels.sh (testing branch) script - as you should see, symlinking does not apply for this:

Code: Select all

download_kernel() {
	local URL="$1" TARBALL="${1##*/}"
	if [ -f ../../local-repositories/huge_kernels/${TARBALL} ] ; then
		echo "Verifying ../../local-repositories/huge_kernels/${TARBALL}"
		if tar -taf ../../local-repositories/huge_kernels/${TARBALL} &>/dev/null ; then
			cp -fv ../../local-repositories/huge_kernels/${TARBALL} ../huge_kernel/
			return
		fi
	elif [ -f ../huge_kernel/${TARBALL} ] ; then
		echo "Verifying ../huge_kernel/${TARBALL}"
		if tar -taf ../huge_kernel/${TARBALL} &>/dev/null ; then
			cp -fv ../huge_kernel/${TARBALL} ../../local-repositories/huge_kernels/
			return
		fi
fi
It is possible I have made an error in makepup function huge_kernel_mod (I no longer remember my test of it so have to recheck). I had to modify that function a while back because of a change made at woof-CE. I need to reinstall a few things before I can test it again though so may take a couple of days.

By the way, I remember BIlltoo using his own huge kernels all the time so maybe he could chip in again and explain what he does exactly. As far as I remember he simply copied the huge kernel he wanted into woof-out_*/huge_kernel in manual woof-CE script runs (with makepup the pause option would stop the script at the appropriate time to do the same - however, putting the kernel into the kernels2add folder, being local-repositories/huge_kernels, should be working but apparetly from your reports isn't... Maybe find time to resolve the issue tomorrow - I don't think it will be difficult to fix (just need to shelve the other project I'm otherwise too focussed on for a while...).

Suggested test would be to download a known good huge kernel (such as the one ttuuxxx has stored at smokey01 site for use in his Stretch build). Then try getting that to be used via storing it in local-repositories/huge_kernels (the folder opened with kernels2add button). If that doesn't work (which will have to be fixed then), try storing it in woof-out_*/huge_kernel instead. That's what I will test with to find out what exactly is going on. Make sure of course that kernel used not being forced in _00build.conf.

wiak

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

#219 Post by wiak »

Okay, just put Slacko64 back on my machine (I had to take that and woof-CE off temporarily last week cos my laptop is very low on hard drive space at the moment and I needed to free space my other current project). Anyway, put it all back on again (except running makepup on a usb stick to have sufficient test space for that). Alas, it is late night here but rest assured I will definitely now look into the kernels2add situation tomorrow when I wake up. ;-)

Unfortunately that ttuuxxx Stretch kernel is just 32bits so I'll download one of the ibiblio ones but try getting it to be used (in makepup build of XenialDog64) from local-repositories/huge_kernels instead of via drop down menu list.

http://distro.ibiblio.org/puppylinux/huge_kernels

wiak

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

#220 Post by wiak »

Been looking at the woof-CE support/huge_kernels.sh code again, and I think I see the issue. Will have to fix makepup it seems... Thanks for pointing out the problem ally.

It would appear that if you use the -p (pause) switch with makepup, and during that pause you copy the kernel you want used into woof-out_*/huge_kernel, that should work (that kernel will be used in the build I think).

The key line in support/huge_kernels.sh is:

Code: Select all

IS_KERNEL=`ls ../huge_kernel/*.tar.* 2>/dev/null | wc -l`
As long as IS_KERNEL becomes equal to 1 that means a kernel is already available and it woof-CE will use it. If it's more then one in woof-out_*/huge_kernel that will cos a problem I'll have to fix in makepup though.

The kernels2add local-repositories method won't work at the moment. But, I won't know if all this is true till tomorrow when I have time to try it out.

wiak

Post Reply