Tiny Core Linux

Tiny Core Base => TCB News => Alpha Releases => Topic started by: Juanito on January 17, 2021, 08:51:06 AM

Title: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 17, 2021, 08:51:06 AM
Team Tiny Core is pleased to announce that Tiny Core 12.0 Alpha2 is available for public testing:

http://repo.tinycorelinux.net/12.x/x86/release_candidates/distribution_files
http://repo.tinycorelinux.net/12.x/x86_64/release_candidates/distribution_files

This is an alpha level cut. If you decide to help test, then please test carefully. We don't want anyone to lose data.

Since this is an alpha cut, we ask that only experienced users test. This cut is not for general use. The features in any alpha are not fixed and may change before a public release candidate is available.

We appreciate testing and feedback.

Changelog for 12.0 alpha2:
* busybox updated to 1.33.0
* busybox patched to load more than 9 extensions
* busybox patched to remove "Module has invalid ELF header"
* tc-config: get tc version from tc-functions
* release.txt depreciated in favour of os-release

Changelog for 12.0 alpha1:
* kernel updated to 5.10.3
* glibc updated to 2.32
* gcc updated to 10.2.0
* binutils updated to 2.35.1
* e2fsprogs base libs/apps updated to 1.45.6
* util-linux base libs/apps updated to 2.36.1
* tc-functions: version changes from andyj
* version: changes from andyj
* shutdown.sh: clarifying comment
* busybox-aliases: additions from bdantas
* filetool.sh: comments from bdantas
* tce-setup: remove neeedless timestamp from bdantas
* tce-config: more precise /opt copying from bdantas
* tce-config: rename autoscan from polikuo
* tc-config: similar awk rounding
* init: avoid awk rounding
* filetool.sh: dc syntax change fix from watt
* tce-audit: search fix from lhaley42

Note:

* the libffi and readline extensions have been updated - this will break a lot of extensions, so fallback libffi6 and readline7 extensions have been created.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: GNUser on January 17, 2021, 05:08:45 PM
Hi, Juanito. I tested several more extensions.

These can be copied over from TCL11, they work as-is:
iw.tcz
fox.tcz
xfe.tcz
asunder.tcz
fluxbox.tcz
rxvt.tcz
sxhkd.tcz
feh.tcz
yad.tcz
mktrayicon.tcz
gsimplecal.tcz
dialog.tcz
jpegexiforient.tcz
Hack-font.tcz
wxwidgets.tcz
libfilezilla.tcz
filezilla.tcz
libgsf.tcz

These need libffi6.tcz appended to their .dep files:
gnumeric.tcz
engrampa.tcz
gcolor2.tcz

These need readline7.tcz appended to their .dep files:
lftp.tcz
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: GNUser on January 17, 2021, 08:16:25 PM
Here are some more extensions from TCL11 x86_64 that work without modification in TCL12 x86_64:

adb.tcz
heimdall.tcz
ncdu.tcz
tinyopen.tcz
usb-automount.tcz
dzen2.tcz
libjbig2dec.tcz
mupdf.tcz
pdftk.tcz
parcellite.tcz
sshpass.tcz
sct.tcz
giblib.tcz
scrot.tcz
thunderbird-appimage.tcz
ffmpegthumbnailer.tcz
hostapd.tcz
xdotool.tcz

P.S. I hope these reports are still helpful to you guys.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: andyj on January 17, 2021, 10:16:48 PM
The glibc_apps extension for 32-bit is missing rpcgen. I haven't checked 64-bit yet, but it will need it as well if it isn't there.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: andyj on January 17, 2021, 11:18:52 PM
There may be a problem with the ubuntu-isapnp kernel patch. The kernel compile fails at that point:

Code: [Select]
  CC      drivers/pnp/isapnp/core.o
drivers/pnp/isapnp/core.c: In function ‘isapnp_init’:
drivers/pnp/isapnp/core.c:1056:1: error: no return statement in function returning non-void [-Werror=return-type]
 1056 | }
      | ^
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:279: drivers/pnp/isapnp/core.o] Error 1
make[2]: *** [scripts/Makefile.build:496: drivers/pnp/isapnp] Error 2
make[1]: *** [scripts/Makefile.build:496: drivers/pnp] Error 2
make: *** [Makefile:1805: drivers] Error 2

The patched core.c in question:
Code: [Select]
   1044         isapnp_proc_init();
   1045         return 0;
   1046 }
   1047
   1048 static void __init async_isapnp_init(void *unused, async_cookie_t cookie)
   1049 {
   1050         (void)real_isapnp_init();
   1051 }
   1052
   1053 static int __init isapnp_init(void)
   1054 {
   1055        async_schedule(async_isapnp_init, NULL);
   1056 }
   1057 device_initcall(isapnp_init);
   1058
   1059 /* format is: noisapnp */
   1060
   1061 static int __init isapnp_setup_disable(char *str)
   1062 {
   1063         isapnp_disable = 1;
   1064         return 1;
   1065 }
   1066
   1067 __setup("noisapnp", isapnp_setup_disable);
   1068
   1069 /* format is: isapnp=rdp,reset,skip_pci_scan,verbose */
   1070
   1071 static int __init isapnp_setup_isapnp(char *str)
   1072 {
   1073         (void)((get_option(&str, &isapnp_rdp) == 2) &&
   1074                (get_option(&str, &isapnp_reset) == 2) &&
   1075                (get_option(&str, &isapnp_verbose) == 2));
   1076         return 1;
   1077 }
   1078
   1079 __setup("isapnp=", isapnp_setup_isapnp);

I've tried a few changes, but so far nothing works. What is this patch supposed to do?
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: curaga on January 17, 2021, 11:29:17 PM
That isn't the latest patch? The one in 5.10-patches was adjusted.

It speeds up boot by doing isa probing async.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 17, 2021, 11:55:36 PM
The glibc_apps extension for 32-bit is missing rpcgen. I haven't checked 64-bit yet, but it will need it as well if it isn't there.

I hadn't noticed at first, but after several years of treating rpc as depreciated, it was removed from glibc-2.32.

I'll work on a replacement - meanwhile, if needed, you can extract rpcgen from 11.x.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 17, 2021, 11:56:37 PM
P.S. I hope these reports are still helpful to you guys.

Yes  :)
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: jazzbiker on January 18, 2021, 02:37:34 AM
Hi, Core guys!

I've copied from x86 TC11 and checked
Code: [Select]
dwm
st
dmenu
libtermkey
lpeg
lua-lib
vis-nolua
vis
vis-utils
vis-lexer
lynx

they are ok.

netsurf.tcz needs libffi6.tcz to be added to deps to work immediately, but probably it will be better to repack the extension, because 3.10 is available and gtk2.tcz already has libffi.tcz in its deps.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 18, 2021, 03:06:09 AM
Hi, Juanito. I tested several more extensions.

Presuming you were referring to x86_64 in both cases...

Most files copied over:

* dialog was already there
* lftp updated
* dep files adjusted for engrampa and gcolor2
* goffice has a dep on libffi6 and not gnumeric
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: jazzbiker on January 18, 2021, 03:33:07 AM
Also x86 TC11
Code: [Select]
mc
libssh2
slang
gpm
transmission
libevent
man
less
are ok.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: nick65go on January 18, 2021, 03:43:46 AM
I appreciate the better quality versus more quantity. Is any rush for a new TC12?
I think most TC users own low or medium hardware. If someone buy new/latest hardware (lot of RAM/CPU/GPU/SDD) there are full bloated distribution, very polished than can have high speed for such huge hardware resources.

The TC11 is already very good and flexible. What MAJOR advantages for end user will bring TC12 in daily working?
The kernel (for new hardware), basic library (libc) and a new compiler (better speed/size for final appl?).

It will massively help (for future versions also) if there are already scripts for all tcz (maybe in the same place, not few in TC9, few in tc11, etc) to compile them. Maybe also have a map/chart with layer 1, then 2 of dependencies, to avoid hunting for not updated dependencies.

Testing appl from TC11 to transfer into TC12 is OK. But if time to release a new TC version is not a constraint, then maybe developers can identify the basic tcz (with no dependencies) and recompile then first (not copy/paste). Then identify tcz with dependencies of first layer, and so on. Maybe in parallel concentrate on GUI (Xorg).

Can someone list few (max 10) applications (audio/video/office/browser/utilities) that they are unhappy now in TC11, and they need them like breathing air, in new TC12?
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 18, 2021, 04:07:12 AM
The basic extensions - toolchain, Xorg, etc are recompiled and/or copied and tested.

Many, if not most, extensions have build notes/scripts.

Outside of the basics, extensions are user contributed and thus updates need to wait on the maintainers.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: jazzbiker on January 18, 2021, 04:13:32 AM
5.10 is LTS release so it is absolutely natural to produce TinyCore release based on it. As I understand all kernel LTS releases wake to life the corresponding TinyCore versions.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: nick65go on January 18, 2021, 04:36:34 AM
I do not criticise. I am expresing only my personal opinions.
- not ALL tcz have scripts, but "most". notes are not scripts.
- not all scripts to build tcz are in the same clear structure. some are in tc9, some are is tc10 etc, others are in git.
- not all tcz are recompiled, only few. so partial gain from new compiler or new basic libs.
- no "local" wiki. forum can be searched for strings, but wiki is better.

Kernel LTS is OK, I said nothing against it. My observations were about logical re-compiled apps. To avoid (as much as posible) various versions for "common" libs. (Such as badwolf browser depending on icu61 and icu65). Like libs for GTK 1/2/3. Or "common" libs for ffmpeg. I talk about few path/root libs that many apps use parts of them.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: jazzbiker on January 18, 2021, 04:54:23 AM
so partial gain from new compiler or new basic libs.

In my experience extension recompiling for new version leads to the gain in size :)
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: andyj on January 18, 2021, 05:09:39 AM
That isn't the latest patch? The one in 5.10-patches was adjusted.

I downloaded the "patched" kernel source tarball from the TC website along with the config file and did the customary "make bzImage modules". I didn't check to see if the patch on the website is the same one applied to the kernel source code tarball, but it's the tarball for sure that's the problem.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: GNUser on January 18, 2021, 05:21:54 AM
P.S. I hope these reports are still helpful to you guys.

Yes  :)

Good to know :)

Presuming you were referring to x86_64 in both cases...

Yes, all my testing was on x86_64. Sorry if I forgot to mention it somewhere.

* goffice has a dep on libffi6 and not gnumeric
Oops. I should have dug deeper into that one. Thanks for catching it.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: andyj on January 18, 2021, 05:22:09 AM
I hadn't noticed at first, but after several years of treating rpc as depreciated, it was removed from glibc-2.32.

I didn't notice that it was an upstream change. Supposedly the latest open-vm-tools has been fixed to deal with this, but it isn't working for us right now. So, no simple fix....
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 18, 2021, 07:11:36 AM
rpcsvc-proto, which provides rpcgen, posted
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 18, 2021, 09:46:23 AM
I've copied from x86 TC11 and checked

Extensions copied over from both lists - lua depends on readline and so will need recompiling as will netsurf.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: curaga on January 18, 2021, 10:00:10 AM
I downloaded the "patched" kernel source tarball from the TC website along with the config file and did the customary "make bzImage modules". I didn't check to see if the patch on the website is the same one applied to the kernel source code tarball, but it's the tarball for sure that's the problem.
Oh my, I wonder how I managed that. Uploading the fixed tarball.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: andyj on January 18, 2021, 10:02:18 AM
rpcsvc-proto, which provides rpcgen, posted

This and the updated libtirpc gets me to what looks like a working open-vm-tools-desktop. Except that I had to cheat a little and copy some extensions from 11.x, like wayland which by the way is linked to libffi6. I still haven't figured out why wayland is required on 32-bit only.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 18, 2021, 10:08:24 AM
Strange - x86 mesa is not compiled against wayland to avoid bloat.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: curaga on January 18, 2021, 10:14:40 AM
Upload done. The old tarball was 115726264 bytes with a md5sum of
c4054dbb8d667ec2b2a8ec9acba3a344

The new one is 115727052 bytes and
be189fbe932659e8c58636cde5b97df2
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 19, 2021, 12:03:51 AM
lua depends on readline and so will need recompiling as will netsurf.

updated lua posted - netsurf is statically linked, it was gtk2 that needed recompiling for the updated libffi.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: jazzbiker on January 19, 2021, 12:57:25 AM
netsurf is statically linked, it was gtk2 that needed recompiling for the updated libffi.

Hi, Juanito!

ldd really reports, that netsurf-gtk binary is statically linked, but in this case it will not need any dependencies, which is not true. In fact I think binary inside extension tree was compressed with some software  before squashing the extension tree.
I've compiled netsurf 3.10 (current is 3.9) according to the reciept in /src and got the netsurf-gtk binary twice bigger than in the current netsurf.tcz, but resulting .tcz size was nearly the same.
I've already sent the PM to @neonix and asked him to update the extension. I've asked him not to use intermediate compession, because it don't reduces the resulting .tcz size.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Rich on January 19, 2021, 06:09:43 AM
Hi jazzbiker
I see no commands that would indicate use of intermediate compression being used:
http://tinycorelinux.net/11.x/x86/tcz/src/netsurf/netsurf.tcz.build-dep
http://tinycorelinux.net/11.x/x86_64/tcz/src/netsurf/netsurf.tcz.build-dep

There are 3 make commands listed. One for framebuffer, one for GTK2, and one for GTK3. The versions in TC10 and TC11
were the GTK2 versions. Is it possible your size increase was because you ran more than one of the make commands?
The only executable in your destination should be  usr/local/bin/netsurf-gtk.
If you also see  usr/local/bin/netsurf-gtk3  or  usr/local/bin/netsurf-framebuffer  you ran too many make commands.

I also don't see any  strip  commands, unless those are in the  make  file.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: jazzbiker on January 19, 2021, 07:13:17 AM
Hi, Rich!

No, I made only TARGET=GTK2. By the way makefile rejected TARGET=GTK, probably is version 3.10 refinement.
Sorry, I don't understand how netsurf-gtk binary can be statically linked. Doesn't it really need no dependencies? That was my main surprise and this accompanied with the less size make me think, that it is compressed with some additional (self-extracting in memory?) software. Of course, I may be wrong, I'm just guessing. But  I can not imagine that it is statically linked with gtk2, really. In this case it must be much bigger and doesn't needs the .dep file at all. Sorry, if I am misunderstanding the meaning of "static linking". But when I made the 3.10 version according to the build reciept, ldd reported me the long list of .so dependencies, as usual. I was building under TC11 so libffi.6 was present in netsurf-gtk2 dependencies. I used sstrip.
I'm sorry I'm distracting You from TinyCore release, because of my unnecessary curiosity. Maybe @neonix knows better and will answer my questions.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 22, 2021, 12:37:29 AM
Quote
If, on the other hand, the wireguard kernel module is part of TCL12 base system, then  wireguard-KERNEL.tcz  should be removed from  wireguard-tools.tcz.dep.

wireguard-tools copied over and deps adjusted
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 22, 2021, 04:26:56 AM
Except that I had to cheat a little and copy some extensions from 11.x, like wayland which by the way is linked to libffi6. I still haven't figured out why wayland is required on 32-bit only.

wayland isn't required in x86, but is probably referenced in several *.la files, which were taken from x86_64...
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Rich on January 22, 2021, 06:48:33 AM
Hi jazzbiker
... I made only TARGET=GTK2. By the way makefile rejected TARGET=GTK, ...
Did you actually use upper case? Maybe it doesn't like that.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: andyj on January 22, 2021, 08:14:38 AM
What happened to the "cc" symlink for gcc? Is this a GCC 10 thinks nobody is looking for it anymore thing?
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 22, 2021, 08:39:16 AM
I didn't delete it - gcc reposted with the symlink
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: jazzbiker on January 22, 2021, 10:07:08 AM
Hi, Rich!

Hi jazzbiker
... I made only TARGET=GTK2. By the way makefile rejected TARGET=GTK, ...
Did you actually use upper case? Maybe it doesn't like that.
I was not recording the commands, so I can not be absolutely sure in their literal values. I was interested in testing optimization options impact on the striped binary and resulting extension sizes. Very likely You are right - targets are to be in the lower case. The resulting binary is named "netsurf-gtk2". According to Makefiles "gtk2" is the default target.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: andyj on January 22, 2021, 12:19:18 PM
I will eventually need these extensions for 64-bit:

Code: [Select]
cmake.tcz
cracklib-dev.tcz
cracklib.tcz
jsoncpp.tcz
libarchive.tcz
libgpg-error-dev.tcz
libgpg-error.tcz
liblz4-dev.tcz
liblz4.tcz
libpcap-dev.tcz
libpcap.tcz
libpci-dev.tcz
librhash.tcz
libuv-dev.tcz
libuv.tcz
lzip.tcz
pcre21032-dev.tcz
pcre21032.tcz
procps-ng-dev.tcz
procps-ng.tcz
python3.6-ply.tcz

I will need these for 32-bit:

Code: [Select]
Linux-PAM-dev.tcz
Linux-PAM.tcz
cmake.tcz
cracklib-dev.tcz
cracklib.tcz
db.tcz
jsoncpp.tcz
libarchive3.tcz
libgcrypt-dev.tcz
libgcrypt.tcz
libgpg-error-dev.tcz
libgpg-error.tcz
libpcap-dev.tcz
libpcap.tcz
libpci-dev.tcz
librhash.tcz
libuv-dev.tcz
libuv.tcz
nettle.tcz
pcre2-dev.tcz
pcre2.tcz
procps-ng-dev.tcz
procps-ng.tcz
python3.6-ply.tcz
wayland-dev.tcz
wayland.tcz

To get some extensions to compile I copied them from my TC 11 directories, so I can say they work for that. However, I haven't run the "make check" routines for the programs that have them yet, so I can't yet say they run as expected.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 23, 2021, 01:05:23 AM
copied over.

I adjusted the *la files in 12.x/x86/tcz/src/la to remove wayland as mesa is not compiled against wayland in x86 - for the same reason I did not copy wayland over in x86.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: GNUser on January 26, 2021, 07:45:05 AM
Hi, Juanito. I rely on these extensions for x86_64 but they are not in the TCL12 repository yet:
Code: [Select]
libsecret.tcz
libsndfile.tcz
pinentry-gtk2.tcz
The copied-over extensions I've been using from TCL11 x86_64 seem to work fine.
Title: Re: Tiny Core 12.0 Alpha 2 Testing
Post by: Juanito on January 27, 2021, 01:13:08 AM
copied over