Tiny Core Linux
Tiny Core Base => TCB Talk => Topic started by: pioj on September 15, 2015, 04:18:20 AM
-
Sometimes I like to trim down and customize extensions for a certain hardware target. Finding the proper tools for the work doesn't come easy...
I noticed squashfs-tools had become part of the core system, so I'd love to share some thoughs about "extending a bit more the ecosystem".
Not too much, not too fancy, just a bare minimum set of tools for detect & listing your hardware (which is always useful), checking extension dependencies prior to importing them, and (maybe) easing some sysadmin tasks.
- lspci. Gives some more information about graphics and network cards. I use it along dmesg in absence of HDT, to know which files are needed in my firmware extensions, so I can clean unneeded garbage.
- pstree. I prefer this to ps as I can tell which packages are depending on others.
- strip. This may come handy to reduce filesize.
- ldconfig. Not sure if it's already included, but handy as well.
Fancy, enjoyable to have (not needed!):
- ncdu. I use this tool A LOT to keep an eye on the filesystem, check packages and learn how extensions are composed. I learnt more about linux with ncdu than with any tutorial, but yes, I'm concerned about size (2MB because of ncurses).
- vifm | fdclone. Let's be honest, we don't need a file manager or file explorer, but I think we can allow ourselves a bit of comfortability in 2015... They also help while deleting garbage.
- dvtm. We don't need X, I agree, but running multiple terminals on the same screen helps me work faster.
So, what do you think guys? What other tools can you suggest to add/remove from the Core.gz in order to keep it clean and fast, but also up to date? 8)
-
btw, I really love thw way you guys use gawk,sed,etc in the init scripts, to avoid relying on much bigger tools. It's soo cool I'd wish to learn how to use them properly...
-
We already have extensions via tcz files. We can load them if we need them.
There is no need to bloat core.gz with tools not everyone needs or wants.
That is just my opinion though. The project owners make the design decisions.
-
Hi gerarld, this is the dCore area.
-
Hi all. This is the dCore section, but the principle of having in base only what is needed to boot, set up wired networking, and install extensions is the same for Core/dCore. "Everything is an extension" is how I have heard it put before.
Squashfs-tools files are in dCore*.gz as unlike with Core, dCore creates it's squashed SCE extensions locally from fetched files whereas Core downloads presquashed TCZs from the network. Otherwise squashfs-tools would be an extension available for import.
-
Don't get me wrong, I'm totally fine with the global philosophy of Core having just enough to boot and loading extensions....
In fact, after diggin' deeply into the filesystem I can't find anything relevant to prove my point, except for the legacy firmware in /lib, maybe.... (lots of network card models and... wacom? ... matrox??? omg matrox, really? ::))
We could argue about which functionality from Busybox is not needed anymore (rpm, eject, etc..).
So, thanks again Jason, for solving my question about Squashfs-tools. Now that makes sense.
-
ldconfig is included, and we could include pstree as it's nowadays available in busybox. The others are best left extensions, especially the pci database.
-
Please don't remove eject - still use it :)
pstree is nice as ps/ps aux output all loop processes in TC, requiring grep to filter.
-
I used http://www.magicermine.com/ (http://www.magicermine.com/) and placed some tools outside the Core on another partition, so I only run them when I need it. Works like a charm.
I also found there's some delay loading my network card module (r8139) while the system is booting. Is there any way I can disable it so I can load the driver much later, right after the Ash shell starts?
-
Yes, use the bootcode blacklist=r8139.
-
I used http://www.magicermine.com/ (http://www.magicermine.com/) and placed some tools outside the Core on another partition, so I only run them when I need it. Works like a charm.
I also found there's some delay loading my network card module (r8139) while the system is booting. Is there any way I can disable it so I can load the driver much later, right after the Ash shell starts?
r8169 is a very buggy driver. Ive never seen anyone runming it without problems, its been this way for years. Do as curaga suggested and compile in the official realtek r8168 one from their website, it works flawlessly.
-
Sorry ignore that post, misread r8139 as r8169. Anyway to get back on topic, i agree to keep the core as simple as possible. As it is, the 10 MB core is perfect in my opinion.
-
I wish I'd know how to compile packages, you know... :-[ I'm always stuck needing a dependency or another, then I'm getting errors way beyond my current comprension.
I know I can leverage some more KB's frome the initrd, just wait...
-
I wish I'd know how to compile packages, you know... :-[ I'm always stuck needing a dependency or another, then I'm getting errors way beyond my current comprension.
I know I can leverage some more KB's frome the initrd, just wait...
Its really quite easy in TC bc all you really need is the compiletc extension. Follow this guide to compile your own TC packages: http://wiki.tinycorelinux.net/wiki:creating_extensions
-
What do you guys mean by "dCore" ?
-
Core Linux based on Debian (or compatible with its packages).
See:
http://forum.tinycorelinux.net/index.php
http://forum.tinycorelinux.net/index.php/board,66.0.html