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 Mon 15 Oct 2018, 17:39
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
corepup
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 47 of 52 [779 Posts]   Goto page: Previous 1, 2, 3, ..., 45, 46, 47, 48, 49, 50, 51, 52 Next
Author Message
nosystemdthanks

Joined: 03 May 2018
Posts: 333

PostPosted: Tue 17 Jul 2018, 21:36    Post subject:  

this is not surprising, but you tried the easy option first-- that was the best thing to do.

so you want a version of libnss that corepup doesnt have, and its even possible that you want a version of libnss that corepup cant run. before you make it a tcz, id recommend getting the debian version (like you said) and trying that.

coreplus at least, and based on what im typing now also the version of busybox that comes with all versions of corepup (wanderers and mine) include ar-- this is very relevant to getting debian stuff working in non-debian-based distros. code from mcorepup:

# wget 'http://http.us.debian.org/debian/pool/main/d/dpkg/dpkg_1.18.24_i386.deb' ; ar x dpkg_1.18.24_i386.deb ; tar -xvf data.tar.xz ./usr/bin/dpkg-deb



now you have dpkg-deb in your path, and you can download .deb files and open them like this:

# dont do this: dpkg-deb -x libnss.deb /



first youll have to go to packages.debian.org and get the url for the .deb you want, then either download it with your browser or use wget before using dpkg-deb.



note the / is the path to unzip the .deb to, and (since this isnt a debian system) youll probably want to do this instead:

mkdir ./libnss ; dpkg-deb -x libnss.deb ./libnss ; find ./libnss



before you add all those files to your running filesystem.

corepup has /usr/lib and /usr/local/lib, one could be a symlink, we dont know if the files you want in the libnss are going to go to the path you need them to.

but since you already installed an older libnss, you can probably find / | grep libnss for a hint as to where to put the newer one.

once youre satisfied that libnss works as you need it to, the fun part is making it stay that way. the obvious method is to create a tcz. the not-so-obvious method (for the moment) is anything else...

in most distros youd just put something in /etc/rc.local or the equivalent of that. for figos, i actually modified the live cd to look for /etc/.figos-local on 4 partitions (mounted read-only) and if the file contains "1" then it runs the /etc/rc.local on that partition.

this is a cheap and easy way to have a live cd that looks for settings on other drives.

i probably either need to modify the initrd (the core) or create a tcz builder as a feature of mcorepup to accomplish either of those things.

whats really cool is-- if you found a third way, i could do more things with mcorepup a little sooner. but i should probably use this as a reason to work on either the tcz builder or the code that remixes the core.

getting libnss working-- probably easy, try using dpkg-deb like i said. getting libnss to stay in your setup... without a tcz or changing the core, neither wanderer nor i have likely tried that yet.

youll probably want to make a tcz, to get this working today. if you do, posting what you did will likely help (we can all make a tcz, im very confident of that, but its not something ive read the instructions for yet.)

your corepup skills are fast approaching what i would compare to wanderer and myself. which means always feel free to ask, but we can nearly gain from your corepup experience now, as much as you can gain from ours. and dont think its not appreciated, it definitely is.

_________________
the end of the distro war, and the distro https://ptpb.pw/OnBT
Back to top
View user's profile Send private message Visit poster's website 
wanderer

Joined: 20 Oct 2007
Posts: 729

PostPosted: Wed 18 Jul 2018, 09:59    Post subject:  

hi all

just an update

it looks like nosystemdthanks script
is pretty comprehensive and can do more and more
and I will try to use it this weekend to build a corepup

also I intend to try to make a tc 9 set of corepups
like the ones I made for tc 6.4.1
also this weekend

this of course in addition to looking at the
jwm-menu script
tce-load script
and import-sce script

a lot of fun

keep the faith

wanderer
Back to top
View user's profile Send private message 
nosystemdthanks

Joined: 03 May 2018
Posts: 333

PostPosted: Wed 18 Jul 2018, 10:05    Post subject:  

itll be a lot better when it can make changes to the core.gz, but thank you.
_________________
the end of the distro war, and the distro https://ptpb.pw/OnBT
Back to top
View user's profile Send private message Visit poster's website 
rockedge


Joined: 11 Apr 2012
Posts: 829
Location: Connecticut, United States

PostPosted: Wed 18 Jul 2018, 11:42    Post subject:  

I am having success using Tahrpup to download and extract packages such as the
nss-3.36.0-1.0.fc28.i686.rpm Fedora 28 package that may fix my little problem. And then
using Tahr to have the set of extracted pieces ready to br placed in the corepup file structure. I am expereimenting with methods for having the changes be persistant.

looking for the 3rd method and the main goal of getting the latest Vivaldi browser to run. I feel like this goal is close to being achieved.
Back to top
View user's profile Send private message Visit poster's website 
nosystemdthanks

Joined: 03 May 2018
Posts: 333

PostPosted: Wed 18 Jul 2018, 17:59    Post subject:  

while it will be extremely simple, the tcz builder in mcorepup will make it very easy to build things like this into the iso, with the option to include the resulting tcz or leave it out. if it leaves it out, it wont create it either.

for example, you could have a section that instead of including everything from corepup-full, would just leave out the stuff for wifi if you didnt want it.

though in this instance i was referring to tczs that dont already exist-- it will grab files from online, stick them in a file hierarchy and then produce a new tcz from it, which then gets included (optionally) in the iso.

as far as talking vs doing goes, ive already set the script up to produce three different corepup isos. im going to do the tcz thing--

when i do that, i can also make it take the mods file that wanderer works on and incorporate that into the iso as a tcz.

but i dont know if that will be this week or not. we have at least three guys innovating corepup now, i love that. if rockedge finds a non-tcz way to save things, that will be really cool.

with corepup im running sudo find / -type l | xargs ls -l to try to find a way to have stuff automatically load when the iso does. i should be looking in the startup scripts too. corepup already has these features, theres got to be a way to use them from the filesystem.

otherwise we will need an rclocal.tcz or something to add this functionality, which i would be happy to produce. but i dont want to make tczs manually if i can setup the way i want to create them with mcorepup.

the mcorepup way will allow mcorepup to create tczs automatically. wanderers script-- which will probably be better, will be for users to create tczs. unless he gets there first and i decide to just use that with mcorepup somehow. thats cool too.

_________________
the end of the distro war, and the distro https://ptpb.pw/OnBT
Back to top
View user's profile Send private message Visit poster's website 
wanderer

Joined: 20 Oct 2007
Posts: 729

PostPosted: Wed 18 Jul 2018, 18:28    Post subject:  

hi nosystemdthanks

I have been following your script
and that is clearly the way to go
I will do my stuff
but im going to try to use your script more and more

its awesome

thanks for all your work

wanderer
Back to top
View user's profile Send private message 
nosystemdthanks

Joined: 03 May 2018
Posts: 333

PostPosted: Wed 18 Jul 2018, 18:58    Post subject:  

wanderer wrote:

its awesome

thanks for all your work

wanderer


i really appreciate it.

i want you to know, that although im happy with the 2 years of work ive done on this sort of thing (which started as a way to remix puppy) that its not so much about the script as the philosophy. the script is just an implementation of that philosophy.

i think about a future where distros themselves are less important, and tools to create distros are aimed more and more at users rather than developers.

traditionalists will laugh at this. users cant create distros. theres a lot more to a distro than remixing an existing iso.

ive spent a decade working this philosophy out-- its largely based on my experience with puppy at least 12 years ago, and woof-ce proves theres a lot more to a distro than remixing an existing iso.

that said-- not everyone wants to build up from the core, some want to mess with coreplus instead.

we have a framework that lets us offer both.

its simple enough for people to understand. its a little unfamiliar, superficially, but a lot of the "sophistication" it lacks is stuff you can clearly tell i know how to do.

there are features where lists of files are used instead of arrays. there are features where arrays are used. there are features where strings are passed directly to the shell, too.

each time ive added something, ive tried to do it the easiest way-- not the "best" way.

both are subjective-- different people think different things are easy. different people think different things are simple-- or best.

and theres a good reason for it. even though i could refine and refine and refine-- what i really want is to make it so that people can take it and do wtf they want. i dont like the "wtfpl" license, licenses shouldnt be sloppy, but this is a "wtfyw" design.

in "better" languages like bash (bash is a better language, of course. powerful too.) a "wtfyw" design will be very difficult to manage down the road.

this is done with language thats designed more closely with a "wtfyw" (do whatever the f you want) philosophy. take all the script and put it together. take all the script and separate it into other files (if you want to.) make your own version-- use an existing version.

the only reason weve made it this far this quickly is because of your attitude and your philosophy.

it just happens to be one that i can assist. and im very grateful to you for that, because i did design this stuff in hopes of helping somebody.

you just happen to be really fun and really easy to help. if you become more familiar with what ive done with your work, youll find:

1. its surprisingly easy

2. youll find ways to make it easier

im proud of my language, as well as its simplicity, but i still think a language designed specifically for remastering gnu/linux would be really neat.

mcorepup actually began as a program to compare different puppy isos. there are hundreds (for starters) and i wanted to make a table of everything important in them.

at one point it gained the ability to produce bootable isos.

the feature that lets you say whose changes to add is new to corepup, and i think very important. it lets the developers choose a default config, and the user change that, and other people add to it without everyone saying "oh no, i dont want this change."

instead of bothering people about adding stuff, trying to "protect" it it from changes, it just makes it more trivial to prevent their changes from making it into the iso. just remove the name, and you control the contributors yourself (as the lead dev or as the user, both get a real say.)

but the philosophy is simpler than that-- put every user in far greater control. use automation so they dont have to do it all themselves.

instead of making distros-- make tools to make distros.

heavily inspired by woof itself, though olpc has a tool to turn ubuntu into their own olpc platform. we didnt invent automated remastering. but isnt it cool?

as for the future of the distro-- a generic bootable iso that isnt fun or interesting (but can be remixed the way we are doing) isnt rocket science.

what do you get if you have lots of tools for remixing every aspect of a distro?

you have a distro factory, which is aimed at users running the factory instead of these so-called "developers."

im not anti-developer. its really the user/dev dichotomy that im trying to reduce. every user should have more of a taste of developing, even if theyre lazy (most users are.)

and this philosophy would make it easier to become a developer-- it would reduce the overhead of modern large distros-- it would make organisations like spi and red hat less powerful, and thats why eventually youre going to hear people speaking very loudly against this philosophy.

but its too cool not to explore, and no matter how simple your approach (even because your approach is simple) you are a pioneer. and rockedge is a bigger deal than he probably understands.

you cant change the world with 2 people as easily as you can with 3 or more. you guys are my heroes. we are not elite, we are a few guys messing around with software in a garage, doing stuff our way.

not saying we will be famous, not saying that at all-- but apple and hp (and puppy and the linux kernel) started that way too.

_________________
the end of the distro war, and the distro https://ptpb.pw/OnBT
Back to top
View user's profile Send private message Visit poster's website 
greengeek


Joined: 20 Jul 2010
Posts: 5216
Location: Republic of Novo Zelande

PostPosted: Thu 19 Jul 2018, 05:06    Post subject:  

Interesting stuff going on here. I don't pretend to be keeping up with the play, but I do have a question:

Is it likely that this "automation" might make it possible for a user to boot "x"corepup on a variety of machines - then run a script that would detect what frmware that specific PC was "already" using during boot - and build a minimal iso based on that?

Seems as if "basic" variants of Linux are bloated as a result of wifi (and other) firmware payloads that must be carried to enable multi-PC boot - and that payload burden continues on next boot.

Is there a way to get a "corepup-CE" to dump all of the fware it does not need?

(sorry if the question is muddled - I had no wine last night and had to double up tonight Smile )
Back to top
View user's profile Send private message 
nosystemdthanks

Joined: 03 May 2018
Posts: 333

PostPosted: Thu 19 Jul 2018, 05:29    Post subject:  

greengeek wrote:

Is there a way to get a "corepup-CE" to dump all of the fware it does not need?


i have two answers to your question. the first is that im working on mcorepup04, it has a libre option that dumps all firmware- (its not enabled by default. it should be, but im leaving wanderer in charge of that)

we know which firmware is in each file. so while its certainly not a high priority for me to make this happen (only because it would take time to get it right) it is actually very possible to run this script, have it figure out what firmware you need, and then get rid of the others.

but i am in no hurry to write the routine that detects the needed firmware. i can tell someone where to start, but i wont trust my implementation of that on someone elses machine-- nor their distro.

_________________
the end of the distro war, and the distro https://ptpb.pw/OnBT
Back to top
View user's profile Send private message Visit poster's website 
rockedge


Joined: 11 Apr 2012
Posts: 829
Location: Connecticut, United States

PostPosted: Thu 19 Jul 2018, 09:35    Post subject:  

I am experimenting with the effects this type of actions will have. I created several corepup-8's with mcorepup03 which comes out around 11 megs when finished. I created the /tce folder and then add one by one things to it and boot to see what happens. I am gaining understanding this way. I have also found that I can decompress and open tcz files in tahrpup by just changing the extension to sfs and look inside copy stuff. Also I have been making changes then rebooting corepup and letting a backup file be made...changes seem to stick. I have it so hacked around though I will need a moment to bring it all together to some form of real tests. work in progress..but I can say I added /tce folder I put together with corepup-6 ...just copied it over to the corepup-8 directory added a menu.lst entry and it booted fine and worked with all the features....started with the icewm desktop ...is using around 57 megs of RAM. Palemoon ,Chrome and Firefox on board.
Back to top
View user's profile Send private message Visit poster's website 
nosystemdthanks

Joined: 03 May 2018
Posts: 333

PostPosted: Thu 19 Jul 2018, 14:25    Post subject:  

mcorepup 0.4 builds corepup-7 (it should also build 8 if you prefer) and creates tcz files in the same run.

http://murga-linux.com/puppy/viewtopic.php?mode=attach&id=117839

so for example, you could do:


change = changeforwhom addchanges "rockedge"
iftrue change



now = tczpreps "newlibnss" "/usr/local/lib"

now = "cp /mnt/mcorepup/libnss-whatever-version.so /mnt/mcorepup/tcz/newlibnss/usr/local/lib" ; shell

now = tczbuild "newlibnss"



fig



and it will create newlibnss.tcz for you and put it in the iso with the other ones.

its very easy to create a tcz even with the standard method, its basically like creating a tar.gz except with squashfs instead.

when i tried it the first time i used xz compression with the squashfs like i do for remastering live isos, but the tcz loader didnt like that. thats not standard tcz anyway, tczs use the default compression.

now that mcorepup can make tczs and add them to the iso automatically, we can have some real remastering fun.

_________________
the end of the distro war, and the distro https://ptpb.pw/OnBT
Back to top
View user's profile Send private message Visit poster's website 
Isma

Joined: 19 Jul 2018
Posts: 2

PostPosted: Thu 19 Jul 2018, 23:03    Post subject:  Some ideas.  

English it's not my mother language. Expect errors.

I think it's a wonderful idea, being able to say something about a new distro, instead of only reporting bugs or ask for any help when things went down like in many other distros. You have to accept what it's write in stone by the main developers of a system (This is not bad).

Okay, if you give the opportunity to say something about it, i'll take it.

Summary

- Use Gujin Bootloader and take a look into the patch the developer make for the initrd (it's in gujin-2.8.7.tgz). So it's load the system root files almost flawless.

- Please, take in consideration the ultra low-RAM systems those under 512Mb of ram (My main laptop only has this amount of ram). This means, compile/everything resource expensive using the SWAP file/partition as much as possible, using a option to load into RAM the extensions like TCZ in TinyCore, and load them entirely from a filesystem like SCE (mostly in dCore, but it can be find in TinyCore as well).

- Please follow standards! Yes, don't make anything so different and special. Remember the KISS philosophy. Name the 'initrd*.gz' as 'initrd' not 'core.gz', 'pupcore.gz', 'somethingelse.gz'. Follow the standards is a nice way to keep a project future-proof.

/Summary

Use Gujin bootloader or Patch the distro with Casper (a patch for init from Gujin Bootloader).

Gujin is a bootloader. It aims to be a very lightweight solution and somewhat "universal" bootloader. It has an installer and the main developer has proposed a new method to chainload the OS (GNU-like Systems, BSD, WINnt, DOS, etc) by a patch to init (initrd, initrfs i'm not sure). This allows the distro to boot from almost any media (Usb, CD, partitions, filesystems (ext2,3,4;fat16,32,etc). Check the discussions on the sourceforge page.

This bootloader is also flexible when it's time to installing. You can install it to any media device (Floppy Disk, CD, USB, HDD, PICS?), GPT or DOS partition table, a small partition, MBR, BEER device (the end of a disk).

In a perfect world you can have a DVD with multiple distros, a partition full of iso files. A distro would know a smart way to find it rootfs, like knowing where sector in a disc it start and finish they rootfs, from which iso file the distro start in a filesystem, or at least what partition belong to the distro.

With Gujin you can have a usb with multiple distros. Have many kernels without touching any config files, just reboot and choose from a graphic menu what kernel you want.

It has his drawbacks too, obviusly, like no EFI support. But it will be awesome see it implement in the project, having this portability in the Corepup project.

Why this is important?

At least for me, i don't have a 2.5" IDE drive, i can't buy one, they are ridiculous expensive in my country a 80Gb 2.5" IDE can cost as much as a 250GB ATA even a 1Tb Ata. So having the option to boot from anywhere it really will make my computing a lot better.

I have a 3.5 IDE, Sata to USB adapter. I can have cheap HDD atached to my computer and with many distros in the HDD and boot in any of them. And yet still booting into my persistent-data distro.


Low-Ram Friendly

Yes i was saying, make the distro ultra-low-ram pc friendly.

By using most apps as mountable extensions (or give a option to do it).

When i use dCore, even if a use tce-setdrive to point to a usb flash device, despite the warnings and the knowledge of the many writes in the flash device you get the pc frooze when using the sce-import command to import a bis extension like OpenJDK8.

I'm using a T42 IBM, no hard disk drive and 512Mb RAM as my main computer.


Thank you for your time.
Back to top
View user's profile Send private message 
rockedge


Joined: 11 Apr 2012
Posts: 829
Location: Connecticut, United States

PostPosted: Thu 19 Jul 2018, 23:11    Post subject:  

I am doing almost all the testing on just about the same machine this is an 2003 IBM T-42 with 754 megs of RAM, Pentium M and also no hard drive. I use 8 or 4 gig USB sticks.
Back to top
View user's profile Send private message Visit poster's website 
nosystemdthanks

Joined: 03 May 2018
Posts: 333

PostPosted: Thu 19 Jul 2018, 23:32    Post subject: Re: Some ideas.  

Isma wrote:
English it's not my mother language. Expect errors.


no problem.

Quote:
- Use Gujin Bootloader and take a look into the patch the developer make for the initrd (it's in gujin-2.8.7.tgz). So it's load the system root files almost flawless.




right now the only bootloaders in corepup are the ones that come with coreplus. im not sure i get what youre saying about gujin, except that its worth trying.

which is fine, the recommendation is appreciated, thank you.



Quote:
- Please, take in consideration the ultra low-RAM systems those under 512Mb of ram (My main laptop only has this amount of ram).


corepup is the lightest distro that i work with, im certain someone will try to find a way to run it on the most modest hardware they can find.



Quote:
- Please follow standards! Yes, don't make anything so different and special. Remember the KISS philosophy. Name the 'initrd*.gz' as 'initrd' not 'core.gz', 'pupcore.gz', 'somethingelse.gz'. Follow the standards is a nice way to keep a project future-proof.


we can try finding out what happens if we rename the initrd. maybe it will work, or maybe the init wont like it.

the initrd wanderer has adapted is actually called tinycore.gz, so wanderer renamed it to core.gz

im reluctant to rename it in mcorepup, as it will then differ in existing documentation.

i dont know of the initrd name being a posix standard, but if it is id like to know about that.



Quote:
This bootloader is also flexible when it's time to installing. You can install it to any media device


im sure someone will try gujin at some point, it sounds cool. its not in the tinycore repo, incidentally. it would have to be hosted on wanderers download site.



Quote:
In a perfect world you can have a DVD with multiple distros, a partition full of iso files. A distro would know a smart way to find it rootfs,


ive actually done this for refractahrpup, with isolinux,
which is the bootloader corepup uses too.

so you can fairly easily mix two live distros together and have a menu for all of them in a single iso.

Quote:
With Gujin you can have a usb with multiple distros.


with isolinux (and isohybrid from syslinux) you can have that on dvd too. but you said gujin can do dvd.



how did you find gujin, by the way? how long have you used it?

https://directory.fsf.org/wiki/Gujin



Quote:
It has his drawbacks too, obviusly, like no EFI support. But it will be awesome see it implement in the project, having this portability in the Corepup project.




Quote:
i don't have a 2.5" IDE drive, i can't buy one, they are ridiculous expensive in my country a 80Gb 2.5" IDE can cost as much as a 250GB ATA even a 1Tb Ata. So having the option to boot from anywhere it really will make my computing a lot better.


if you take the corepup iso (even the official one) and run isohybrid on it, you can dd the iso to a usb.



Quote:
Yes i was saying, make the distro ultra-low-ram pc friendly.


out of curiosity, what distro (other than deli linux) runs well on less ram than corepup uses?



Quote:
When i use dCore, even if a use tce-setdrive to point to a usb flash device, despite the warnings and the knowledge of the many writes in the flash device you get the pc frooze when using the sce-import command to import a bis extension like OpenJDK8.


i havent used tce-setdrive, its probably not the way i would put corepup on a usb.

id sooner use grub or grub4dos than tce-setdrive.

you mention to go with standards-- grub is pretty close to a standard.



Quote:
I'm using a T42 IBM, no hard disk drive and 512Mb RAM as my main computer.


other than what youve already told us, definitely let us know what parts of corepup you find slowing down your ibm.

_________________
the end of the distro war, and the distro https://ptpb.pw/OnBT
Back to top
View user's profile Send private message Visit poster's website 
wanderer

Joined: 20 Oct 2007
Posts: 729

PostPosted: Fri 20 Jul 2018, 00:23    Post subject:  

hi guys

thanks for all the work you have put in

in both tinycore and corepup

the initrd is named core.gz

there is a cde directory for tcz which is read only on the live cd
that will be automatically loaded at boot
of course if you use a writable usb
you can delete and add to the cde directory

there is a tce directory for the tcz
that you have downloaded from the tinycore repositories
and that can be loaded on demand

you can make a home and an opt directory
on a hard drive for persistence

so these are the basic components of both tinycore and corepup

i have added others

like if you make an uncompressed 2fs image
and put it on the usb
you can symlink to it after corepup is booted
and save and retrieve your settings and other stuff to it
so you can save everything to usb like in puppy

also if you symlink a directory from home
you can use this as an uncompressed or compressed extension

and if you make multiple core.gz cde tce home and opt directories
you can rename them and have mutiple concurrent versions
of corepup on your usb or hard drive

anyway i just wanted to review some basic stuff
so people can keep things straight

next post follows

wanderer
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 47 of 52 [779 Posts]   Goto page: Previous 1, 2, 3, ..., 45, 46, 47, 48, 49, 50, 51, 52 Next
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.1638s ][ Queries: 13 (0.0650s) ][ GZIP on ]