WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: How to modify tc-config for: define httplist local - get packages onboot online?  (Read 702 times)

Offline TT

  • Newbie
  • *
  • Posts: 28
How tc-config could be modified, so it loads packages online from locally defined httplist?

Kinda httplist=file:///… whereas file:///… has a content of: 192.168.0.1/…

Or would it be smarter to introduce a 'filelist' parameter to get_app with "FILE" following?

Offline andyj

  • Hero Member
  • *****
  • Posts: 948
How would this be different than onboot.lst? You can use the lst= boot command parameter to use a different list file than onboot.lst.

Offline TT

  • Newbie
  • *
  • Posts: 28
Uhm-m-m, andyj… Have you read, actually, what my posting was about?
whereas file:///… has a content of: 192.168.0.1/…
How on earth could you have THAT in onboot.lst?

Offline andyj

  • Hero Member
  • *****
  • Posts: 948
I use httplist with PXE booting, but that is what it is for. You want a file local to the computer with a list of extensions to be loaded. That is what onboot.lst is. Maybe what you want is "include" capability, or the ability to have more than one file of extensions, but that is different from httplist and not what httplist is designed to do.

Offline TT

  • Newbie
  • *
  • Posts: 28
None of the above (well, "load local packages, then 'include' online ones, or vice-versa" might be a development). The starting post is succinct just enough to get a brewing idea.

httplist= is (points to) (almost) a typical *.lst file. No more no less.

The whole point is to have it local, while get the list of packages (in it) load online, but I'm just repeating my first post.

It's not about the design or what is for and what was not, it's about augmenting tc-config to embrace a new functionality.
« Last Edit: January 05, 2021, 05:47:07 AM by TT »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10424
Such a design, local list that is looped and each entry loaded over the net, would encourage wastefulness and place additional load on the mirrors. As such it won't be accepted.
The only barriers that can stop you are the ones you create yourself.

Offline TT

  • Newbie
  • *
  • Posts: 28
With all due respect (and, in fact, it had been unspoken my own statement. You broke the silence first (just kidding)):

Seriously?… Well, perhaps. May I lay out few open questions? (for good surely exaggerated)

No responsible admins/users out there? No nginx for local ISPs? At home/work? Writing open source Linux was an unworthy effort, let's no shell scripts submit for modifying (*)? PXE booting is not a problem anymore? (I didn't get the meaning of the 'list that is looped')

Not trying to prop an example, really - but SliTaz boots with 0.8 Mb (!) ISO a full-blown desktop using the latter tech (which is really heavier than 'including' a singled-out module on a tiny system "upped" from what not necessary be a TCL mirror), and no sense of unhealthy competition?

*. Tiny Core Linux - Leo's Notes
« Last Edit: January 05, 2021, 10:49:56 AM by TT »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 8844
Hi TT
... (I didn't get the meaning of the 'list that is looped') ...
I think curaga may be referring to extensions being loop mounted. If you look in  /usr/local/bin/  you will find it full of links
back to  /tmp/tcloop/...  which is where extensions get mounted by  tce-load.  When you access one of those links in
/usr/local/bin/  it reads that data from the mounted extension.

Offline TT

  • Newbie
  • *
  • Posts: 28
Ah, thanks, you all guys are lighting fast if there was a question!

P.S. it just crossed my mind that I might have been understood two-fold: a) "get [download] packages online"; b) "get packages online [http-analogue of nfsmount]". Mine was "a)". Well, let's increase the complexity of the question at hands ))
« Last Edit: January 05, 2021, 11:12:44 AM by TT »

Offline andyj

  • Hero Member
  • *****
  • Posts: 948
Yes, there is a gap here. Perhaps instead of saying "change Y to do X" maybe say "I would like to be able to do X. What functionality already exists that will let me do that or something similar that might suffice." TC can load extensions locally or from a remote location either during boot or from the command line, so we are not getting what it is that you are trying to do that can not already be done.

Offline TT

  • Newbie
  • *
  • Posts: 28
If such a thing could already be done, may you provide a particular example, please?:

0) small-sized boot media, just enough for the latest released TC x86 ISO 11.1 (not Core, not Plus, just Tiny + Xvesa), so, there was no way onboot to have, let say, a Palemoon browser from a mirror.
1) we are not talking about a post-boot scenario, it shall [down]load-mount-and-loop a package during the boot process, like any "usual" local package would-be already present on the ISO, however not (online only); we are not talking about changing any code but manipulate kernel-line configuration parameters;
2) yes, we could modify a kernel boot parameter(s);
3) please, outline in configuration code you are getting this done.

*) we do not have an access to the external resources (e.g. cannot modify a web-site, and no touching of the internal network)
« Last Edit: January 05, 2021, 12:41:12 PM by TT »

Offline TT

  • Newbie
  • *
  • Posts: 28
A slightly different question was recently bubbling around, without a straightforward solution. I'm quoting it here since it seems to me remotely related.
Seems to me that no question can be stupid; you're asking how to accomplish something which isn't (correct me if I'm wrong other folks) possible - but the reason you're asking this is to solve a situation you're interested in;  getting games.

First off - how does TC handle the TCE App Listing;  well, the /usr/bin/tce-fetch.sh is a good place to look.  Here it pairs the current kernel, the current TC version, and the current mirror all together to form the url which is used to fetch things like:

  • the app list itself (( seen in /tmp/tags.db ))
  • an individual app's description, dependencies, file listings, etc

note - the current mirror is stored in /opt/tcemirror

Unfortunately, the suite of package management scripts are all geared around the currently running combination of kernel architecture, and the TC version ( which can be found in /usr/share/doc/tc/release.txt  )  Moreover, if you could point at an earlier TC repo, seems quite likely to me that literal binary contents of the executables would be incompatible from an ABI standpoint;  there might be cases where this isn't true - I am not an expert at all.

But - as to your goal - getting games.  You have many options.  One can request new (or renewed) packages in the appropriate forum for that (( which is http://forum.tinycorelinux.net/index.php/board,46.0.html )) -  one can download the source to games which provide their source and build directly - one can run precompiled games, so long as the underlying dependencies are met.  (( for example - I've used a handful of the Humble Bundle games on TC 11.1 x86_64 ))

So - your question wasn't stupid;  I hope my answer helps give you the next direction to go in for this...

Good luck,
Lexi

Offline andyj

  • Hero Member
  • *****
  • Posts: 948
By small-sized media, do you mean CD-sized (700 MB), or 20-year-old flash drive (32 MB)?

What does this mean? Can you add a computer that can serve what you need?
... no touching of the internal network

Are you trying to configure/build servers, workstations (desktops or kiosks), or both?

There are a lot of people here with a lot of experience solving a lot of problems. We just need to understand (or better yet grok) what your specific problem is first. Maybe I'm old and have been doing this for too many decades, but I'm just not getting what you are trying to accomplish.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10424
It's pretty clear to me. They want to skimp on local storage, as well as not run their own servers (so they can't use NFS or http/tftp). Which would download the listed extensions from the mirrors on every boot, externalising costs but keeping the benefits.

It's irrelevant what the actual technical details are, if it's embedded on a BIOS flash chip, a builtin MMC chip or a small usb stick inside the case. The network use case is abusive.
The only barriers that can stop you are the ones you create yourself.

Offline TT

  • Newbie
  • *
  • Posts: 28
Hi curaga and andyj,

I appreciate you're back. As to the above example it is intentionally exaggerated (well, the post I'm answering now exaggerated it even more) because I started questioning my English, that my first succinct posting was yet not enough to convey what I wanted to ask… Even if I give reference(s), they are not being read… I don't know, what's going on, is this how the beginning of 2021 looks like?

At least I've got a confirmation I could still write in English. It took 12 (twelve) postings to this point and time. Now back to business.

Please, don't judge the models you're constructing in your mind that are largely disconnected from what is on the table.

I may accept [they] "not run their own servers" (in this particular thread the talk is about a local storage), "download the listed extensions from the mirrors on every boot" (it seems all the words from my reply #6 got swallowed by a black hole), but I cannot take [they] "want to skimp on local storage" (I am paying my bills), "externalising costs but keeping the benefits" (again my reply #6) which is going too far in the cosmos.

Well, I never thought discussing a technology is to be abusive.

Any fresh thoughts? If SliTaz fatally abuses the network use case, please, go ahead and kill the thread, I'll survive. It means I'll still stay with TC.