Tiny Core Linux
Tiny Core Base => Corepure64 => Topic started by: clauder on August 28, 2020, 05:10:24 PM
-
I am trying to move from Core 10.1 to CorePure64-10.1 (BTW, what is the Pure in CorePure64? I was expecting a Core64 but that does not exists; it is simply trying to say that there is no support for 32 bits binaries?)
I cross compile, using crosstool-ng where I have both 64 and 32 bits tool chains.
Using the 32 bits tool chain and Core 10.1 all is fine.
Using the 64 bits tool chain and CorePure64-10.1 does not work. I get a "not found" message when I try to run my binary - I suspect something related to libraries
Using the 64 bits tool chain and running my binary on Ubuntu18.04, all is fine
ldd (on Ubuntu) on my binary shows the expected result. On CorePure64, ldd says that my binary is statically linked, which is wrong. The ldd output when running it on Ubuntu for my binary is:
linux-vdso.so.1 (0x00007fffeef7f000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fede96e2000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fede94de000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fede9140000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fede8f21000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fede8b30000)
/lib64/ld-linux-x86-64.so.2 (0x00007fede98ea000)
objdump for my binary says: file format elf64-x86-64
[EDIT]: Added code tags. Rich
-
Hi clauder
... (BTW, what is the Pure in CorePure64? ...
If you are running Core (32 bit kernel, 32 bit apps), you can only run 32 bit programs.
If you are running Core64 (64 bit kernel, 32 bit apps), you can only run 32 bit programs.
If you are running Corepure64 (64 bit kernel, 64 bit apps), you can only run 64 bit programs.
Tinycore does not support mixed 32/64 bit libraries (and extensions).
-
I can not find Core64. But in any case, I want to run 64 bits app so CorePure64 is perfect. If I could just run my 64 bits app...
-
I found my problem.
I guess my 64 bits tool chain is configured for a 64/32 bits target since it needs /lib64 to exists...... I simply added a symlink to get /lib64 to point /lib and it works now.
-
Hi clauder
I can not find Core64. ...
It gets made like this:
cat rootfs.gz modules64.gz > core64.gzThat creates a new initrd that combines a 32 bit root file system with 64 bit kernel modules. This will allow you to boot a 64 bit
kernel while running 32 bit extensions. Any extensions requiring kernel modules will need the 64 bit versions.
The files can be found here:
http://tinycorelinux.net/10.x/x86/release/distribution_files/
-
Ah, makes sense.
This should be documented somewhere. The wiki would be a good place, it is was working....