mcorepup ; a script to create corepup

A home for all kinds of Puppy related projects
Message
Author
User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

mcorepup ; a script to create corepup

#1 Post by nosystemdthanks »

if this were just another concept thread (it is largely a concept thread) i would post this in the corepup thread.

this thread is largely related to corepup, and if it has to be merged there i figure wanderer will be fine with that; ive read through about half of the corepup thread and one thing i can tell you-- wanderer and i have a lot in common.
wanderer wrote: its not really needed
or actually desirable
if i start making isos
people will just wait for the next iso
and will never learn the system




the present version of corepup is based on coreplus 6.4.1:

http://tinycorelinux.net/6.x/x86/archive/6.4.1/

it produces this iso, which ive got running in ram (details available) on the monitor next to this one: http://smokey01.com/wanderer/corepup-6.iso



i can tell you the difference between these two isos, because i have a tool called distdiff:

these files in corepup and their hashsums:

< 36172640730af955bd17410afeb6ccc9 /boot/core.gz
< 123a3254252f6f0e1885a5e992d76763 /cde/onboot.lst
< dd006344d3489ff17cb3ec21910afb85 /boot/isolinux/isolinux.cfg
< a63ef89b84dafa513041ab049a776527 /boot/isolinux/isolinux.bin

change hashsums to:

> b962559370267eec2ac9242f46b35440 /boot/core.gz
> 484abcd0d80515fab732756d89a34985 /cde/onboot.lst
> a78fff2a84e9edba70b6c2516bf5b254 /boot/isolinux/isolinux.cfg
> dc2e8ebda9cdd24c4f2d4336646348ef /boot/isolinux/isolinux.bin

and apart from those changes, these files are added to create the presently available version of corepup:

leafpad is added: (excellent choice)

> 5072ab3ebb80015d261af6393bdcd3c2 /cde/optional/leafpad.tcz
> 806e226d95b342341b7ba7aab1c224f7 /cde/optional/leafpad.tcz.md5.txt
> 1a63067c0686b724b0f476da72436cc3 /cde/optional/leafpad.tcz.dep

gtk1 is added: (very cool)

> 8a85227d0434a14c8d211596bf8bac8e /cde/optional/gtk1.tcz.md5.txt
> 68a85ad4fb84027de749d9e8c7d74574 /cde/optional/gtk1.tcz.dep
> 3e40448a1acadbfd6a4792297ddd50ab /cde/optional/gtk1.tcz

glib1 is added:

> ce5ef5a42a222464b6d4ef1649d45cd8 /cde/optional/glib1.tcz
> 500692842724022d846c32408303eb72 /cde/optional/glib1.tcz.md5.txt

emelfm is added:

> 0e3da35f474d8ac9c23baa73e50ae93f /cde/optional/emelfm.tcz
> b097947487b4e77b604b6927eb193cca /cde/optional/emelfm.tcz.dep
> 095795fa5c6f371dd41007de573e2085 /cde/optional/emelfm.tcz.md5.txt

dillo is added:

> 56c46e01c6b6be56881e4a1b437d413f /cde/optional/dillo.tcz
> d94e570bab119deeb512299ab257c0a2 /cde/optional/dillo.tcz.md5.txt
> 6a31b66e0a749242f7c05631c2cd7e6c /cde/optional/dillo.tcz.dep

and this file called corepup.tcz is added:

> 25f0d8bdb27224abe72c9df6b783fc90 /cde/optional/corepup.tcz



just as most of the differences in two debian-based livecds would be in the squashfs (which distdiff mounts and compares) most of the differences in corepup are in these archives.

while it may appear that i am looking to duplicate corepup (why?) i am actually trying to create a corepup-making machine.

i am aware that wanderer is likely to continue using isomaster and doing this "by hand," some of that "by hand" stuff is only going to apply to coreplus 6.4.1; im not sure how much of it is documented, or how easy it will be to move to later versions of coreplus (such as 9.)

if it turns out that the only important part of this is actually corepup.tcz and core.gz, thats great! that means this gets a lot easier.

my approach will be largely the same then, only it will be easier to work on. at the moment, i am working under the assumption that there is actually more to this than corepup.tcz and core.gz.



the other thread has 40 pages, and i am already adding to those. i hope this thread will make the other thread easier to manage; i believe it is its own topic, even if it is related.

http://murga-linux.com/puppy/viewtopic. ... 523#995523
wanderer wrote: that is the beauty of this system
and why I posted the official tinycore isos

just download one of the official isos
and add apps (or other stuff) to the iso
by downloading or making a tcz

the only 2 other files that I change
are syslinux.cfg in the boot directory
and tc-config in the core.gz image

syslinux.cfg sets up the boot loader to load to the corepup version
and tc-config sets up the services
like init in puppy

I leave the rest alone to keep things simple
and maintain compatibility with tinycore


this approach of wanderers, of work on something and occasionally explain it, is something i like. thats the concept of this thread too. let me know if you have questions-- bonus points if the first reply is thoughtful (wanderers thread is very open to comments, this one might as well try to be similar in what it accepts.)

however, i am not wanderer. he has the patience of 10 saints, while i am probably working on too many things right now to care if this thread goes well or not. but that would certainly be nice.



i have also talked about "restructuring puppy" and at present, im waiting for more details on that from or dancytron. presently, im not sure if i understood him in the first place, but i thought i did.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#2 Post by wanderer »

hi nosystemdthanks

this thread is totally cool

allow me to be the first to add to it

I have (of course) read the first post
and look forward to your work

wanderer

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#3 Post by nosystemdthanks »

thank you.

you know a bit of your modesty is misleading-- i have read 3/4 the way through your corepup thread, i am finding my own posts in there now.

but i realise that even though you have made a relatively noob-friendly way to create some of the puppy experience with a different base, there is a little more to it than i thought.

i still think youre doing a great job and i agree that your approach is to keep things as simple as possible.

im finding more answers to my own questions now, but im sure i will have questions. one of the best things about mcorepup will be making it easier to document how corepup is made and how it works.

right now i have the boot menu up on the screen next to mine. im working on mcorepup on the machine im typing this on, but i try the results on a different machine without rebooting this one.

i dont have a machine dedicated to mcorepup, but i do have a spindrive dedicated to it. again, thanks.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#4 Post by rockedge »

I am ready to test out the corepup concept.....which ISO should I start with?

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#5 Post by nosystemdthanks »

rockedge wrote:I am ready to test out the corepup concept.....which ISO should I start with?
id recommend this one: http://smokey01.com/wanderer/corepup-6.iso

also note this thread has far more information so far: http://murga-linux.com/puppy/viewtopic.php?t=108188 though if youre trying to find a shortcut, read the first post and then skip to page 20.
Last edited by nosystemdthanks on Tue 24 Jul 2018, 09:12, edited 4 times in total.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#6 Post by wanderer »

hi all

corepup is simple

but cleverly designed

and in that simplicity of design lies its power

like a knife

there is no end of things you can do with it

I like to use it to make unique puppylike isos in minutes


thank you very much nosystemdthanks


wanderer

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#7 Post by nosystemdthanks »

two things i can help you with wanderer, are finding features of tinycore youre less familiar with. years have passed since i previously used tc, but roberts told me about it when it was very new.

i might even be able to help you with installation / iso issues, because i dont bother with a bootloader at all. i just run isohybrid on the corepup, and then instead of fiddling with second bootloader i dd the iso directly to a usb.

the dd method is good because you dont need to create a partition on the usb to boot; just run dd, this will create the partition for you. you will still need to create a second partition IF you want to use the rest of the space on the usb. maybe this isnt the best "first option" for installing, but its nice to have as second option.

when i get further into these files i can say more about them.

keep up the good work. also optional-- i would recommend you sign up here: https://notabug.org so you (and others) can contribute scripts to corepup...

of course they can use the forum for that too.

i recommend notabug over github as the latter is now owned by microsoft. notabug and sourceforge are both easy to use-- notabug is a lot easier to get started though, you basically just register with your email and youre ready.

you dont need to have a code repo like this, but id recommend starting one, its free.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#8 Post by nosystemdthanks »

nosystemdthanks wrote:i might even be able to help you with installation / iso issues, because i dont bother with a bootloader at all. i just run isohybrid on the corepup, and then instead of fiddling with second bootloader i dd the iso directly to a usb.
or per the corepup thread, http://murga-linux.com/puppy/viewtopic. ... 565#996565 i try out getting grub2 to boot from the iso, and actually succeed.

first i installed grub2 from fig os-- but any existing grub2 installation should do. the post in the other thread is about grub4dos.

i copied corepup-6.iso to / (which is /dev/sda1) and i opened /boot/grub/grub.cfg and changed the first menuentry to this: (TAB means actual tab character, you should be able to use spaces)

menuentry 'corepup' {
TAB load_video
TAB set gfxpayload=keep
TAB insmod gzio
TAB insmod ext2
TAB set iso=/corepup-6.iso
TAB loopback loop ${iso}
TAB echo 'loading corepup kernel...'
TAB linux (loop)/boot/vmlinuz loglevel=3 iso=(loop)/corepup-6.iso cde tce=(loop)/tce showapps desktop=icewm isoloop=${iso}
TAB echo 'loading corepup initrd...'
TAB initrd (loop)/boot/core.gz
}



it takes me to the vt where i figure i need to read about cde vs tce and try creating a folder like in the post i linked to.

mount the cd and copy everything from the tce folder to /tce on the hdd.



i have to turn off this beeping, because im in the vt and i want to use tab. setterm is not included in corepup, but its included in void. so i copy it?

no, setterm produces escape codes. but it only runs from the vt, so i switch to that (in fig os) and setterm -blength 0 > file.txt ; cat file.txt | alex23.py --ascii

i get 27 91 49 49 59 48 93. in octal thats 033 133 061 061 073 060 135 (says python) so we try echo -e "\\033\\133\\061\\061\\073\\060\\135" in corepup...

it stops beeping! however you have to run it again if you run the reset command.
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#9 Post by nosystemdthanks »

its not as far along as i would like-- i got it to do probably 90% of what i would like it to do for version 0.1.

right now it is powerful enough to help out wanderer with his isomaster problems, if he wants to learn to use it. this isnt meant to explain itself, download it and ask the questions you want to.

i dont like to remaster manually. i like to do that automatically. that way instead of moving files around, i edit the automation.

also instead of distributing iso files, you can distribute the script. since most of the iso is the base, this lets you download the iso, then changes can be done without downloading it again.
Attachments
mcorepup01.fig.gz
may work with fig-2.9.pet: https://archive.org/download/Puppy_Linux_Refractapup/fig-2.9.pet
(52.55 KiB) Downloaded 210 times
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#10 Post by nosystemdthanks »

mcorepup 0.1 produces corepup-6.
mcorepup 0.2 produces corepup-7.

the "times 10, plus 5" thing isnt a rule, though. there could be more than one mcorepup per corepup.
Attachments
mcorepup02.fig.gz
(50.83 KiB) Downloaded 206 times
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#11 Post by nosystemdthanks »

not too happy with the shorter manual-- i mean its fine, i just didnt make it as short as i hoped. at least it includes information about mcorepup.

i think it will be faster and more useful and relevant.

if you want to mess with the layout i will include the odt.
Attachments
mcorefig.odt.gz
(36.03 KiB) Downloaded 130 times
mcorefig.pdf.gz
(116.5 KiB) Downloaded 224 times
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#12 Post by nosystemdthanks »

these are from corepup-8.iso
Attachments
boot.msg.gz
(529 Bytes) Downloaded 179 times
f4.gz
(929 Bytes) Downloaded 171 times
f3.gz
(1.03 KiB) Downloaded 166 times
f2.gz
(870 Bytes) Downloaded 180 times
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
aaaaa
Posts: 39
Joined: Tue 22 May 2018, 14:57

#13 Post by aaaaa »

I downloaded the script and was shocked to find it's a python script.

Somehow the thoughts of ubuntu flood my mind

Even systemd comes to mind

But i'll run the script anyway to see the results, thanks

Hmm i get this error, how do i fix it?

# python mcorepup02.fig.gz.py
File "mcorepup02.fig.gz.py", line 70
fastcomp 0
^
SyntaxError: invalid syntax

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#14 Post by nosystemdthanks »

aaaaa wrote:I downloaded the script and was shocked to find it's a python script.
very close
Somehow the thoughts of ubuntu
interesting, why ubuntu?
Even systemd comes to mind
hmm...
i get this error, how do i fix it?

# python mcorepup02.fig.gz.py
File "mcorepup02.fig.gz.py", line 70
fastcomp 0
^
SyntaxError: invalid syntax


i need to move lines 44-51 up closer to the top again:

Code: Select all

# ===========================================================
# you will need python 2, and fig 2.x or 4.x to run mcorepup.
# you can download fig 4.6 here: 
# https://notabug.org/figosdev/figos/raw/master/fig46.py
# ===========================================================

# this is a python-based language ; it does not require indentation
# only inline python code needs indenting


# fig46.py mcorepup02.fig

# ./mcorepup02.fig.py

the forum requires adding .gz but fig 4.6 requires .fig



id recommend running this from /mnt/mcorepup too

manual is fairly new: http://murga-linux.com/puppy/viewtopic. ... &id=117617
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#15 Post by nosystemdthanks »

mcorepup 0.3

creates corepup-8.iso

could likely create corepup-7.iso too if you follow the instructions
Attachments
mcorepup03.fig.gz
(53.98 KiB) Downloaded 173 times
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#16 Post by nosystemdthanks »

mcorepup 0.4

creates corepup-7.iso

first version of mcorepup with a tcz builder
Attachments
mcorepup04.fig.gz
(55.36 KiB) Downloaded 170 times
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#17 Post by nosystemdthanks »

mcorepup 0.5

creates corepup-7.iso

allows sending a parameter to functions through the profile...

1. normal profiles work exactly the same as before, you dont have to learn the "new way" unless you want to use it

2. except "addchanges" is now "profiles" sorry

3. now you can optionally add a parameter to your profile like this:

mcorepup-0.3

that will tell mcorepup 0.5 to create tcz packages for the following versions:

mcorepup03.tcz
mcorepup04.tcz
mcorepup05.tcz

each of these packages is about 10k, so if you want to create packages for all versions of mcorepup, just add this profile:

mcorepup-0.1

if you just want the latest:

mcorepup-0.5
Attachments
mcorepup05.fig.gz
profiles modified to include only &quot;wanderer wanderer-minimal&quot;
(62.4 KiB) Downloaded 167 times
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#18 Post by rockedge »

I found out when I use only addchanges = "rockedge" and none of the others in 04 the ISO is 83 megs....I can by using wanderer's reduce the iso down to 10 megs and anywhere in between.

I am going to try out 05.....with the "profiles" changes

User avatar
nosystemdthanks
Posts: 703
Joined: Thu 03 May 2018, 16:13
Contact:

#19 Post by nosystemdthanks »

profiles doesnt work any differently than before, the function that accesses it is still called changeforwhom (which works the same as before) and there is now a second function (optional) called changeforoption.

changeforoption works the same way, except that if you want to write a more complex function (if you dont, just use the older changeforwhom function) then changeforoption lets you use a profile called rockedge-etcpath-sdd4 and then instead of just checking for the profile, it can check for rockedge-etcpath and gets the sdd4 part as a parameter.

which means you could say, tell it to look for rc.local in far more locations than there are profiles for.

but yes,

"wanderer" profile is corepup-6, which i still havent tried. mcorepup 0.1 makes corepup-6 for sure.

"wanderer wanderer-minimal" is 7,

"wanderer wanderer-minimal wanderer-core" is 8.



so "wanderer wanderer-minimal rockedge" would be "corepup-7 plus rockedge changes"

this worked the same way in mcorepup 0.4 and 0.3
[color=green]The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives.[/color]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#20 Post by rockedge »

I have tried 01 - 04 and trying out 05 now.
built all the variations with success and getting to know the in's and out's

all of them work some have quirks but that's okay as it is all part of getting to know how to really use the scripts.

thanks for the clarification...mostly for those who would like to try out the scripts.

I am going to see if i can get my additions to work. Also I have begun to set up a corepup-7 for ZoneMinder....I have the Apache 2.4 web server running and configuration of PHP is moving along. then comes the mysql database server.

Post Reply