Tiny Core Base > TCB Talk
CorePure versus x64 - how to tell the difference?
CentralWare:
I did a quick scan between 4.x x86_64 and CP64 looking for ways to tell them apart (if they were running) and I'm not coming up with anything that identifies one versus the other thus far.
The kernel identifier looks as though it's just going to say tinycore64 (followed by the kernel version) whether I download it from x86/dist or x86_64/release so that's not helping :/
I extracted the pure gz and there, too, I haven't yet been able to identify anything that says "Hey, I'm pure!" so I'm having a hard time figuring out how tce-load is getting its information as to how to navigate the repo and choose the correct directory.
What I'm trying to do is create a "universal" remastering system that is form-fitted to the repo structure starting with 4.x and up. The goal here is to be able to detect which version/platform is running so that I can wget the proper items.
tc/release.txt tells me the running version -- this works out well to get just the version number.
uname tells me the kernel branding (tinycore-xx.xx.xx or tinycore64-xx.xx.xx) so I can split off 86/64 accordingly.
if 64 is detected, now I have to determine 86+64... or pure. Any suggestions?
Thanks!
curaga:
See the getBuild function in tc-functions.
CentralWare:
@curaga: Not seeing the differential.
TCL 4.x corepure64.gz/etc/init.d/tc-functions
Basically shows "If not ARM6/7, it's x86 unless ld-linux(64) is installed and then it's x86_64"
I'm guessing a few things here which may or may not be accurate.
1) The blended (86_64) core and kernel supports both platforms/extensions*
2) Pure supports only x64 (I'm assuming firmware as well?)
*) If the above script is general with 4.x and above, what prevents x86 extensions from loading under pure? ..and if I was running 4.x pure on one machine and x86_64 on another, I'm guessing the only differential file "indicating" pure would be tce/boot/corepure64.gz?
I have not repeated the tests on 5.x and above yet in case there were any changes in tc-functions higher up.
The problem I foresee (assumptions included) is if I booted core64, which I assume defaults to the repo at 4.x/x86_64/tcz and if pure64 uses the same, "pure" is opted for x86 extensions to be loaded which I can imagine cause a bit of chaos. It looks as though 5.x has a different directory structure and core64 itself no longer exists, so it may just be lack of research on my part between the two versions.
Thanks for being so congenial with otherwise dumb questions such as this! :)
Juanito:
core can use either a 32-bit or 64-bit kernel, but only 32-bit extensions. You can use the loader (ld-linux*) name to differentiate it from corepure and $KERNEL to differentiate between kernels
corepure uses a 64-bit kernel and only 64-bit extensions. You can use the loader name to differentiate it from core.
core (32-bit kernel): rootfs.gz + modules.gz + vmlinuz (core.gz = rootfs.gz + modules.gz)
core (64-bit kernel): rootfs.gz + modules64.gz + vmlinuz64
corepure64: rootfs64.gz + modules64.gz + vmlinuz64 (corepure.gz = rootfs64.gz + modules64.gz)
CentralWare:
@juanito: Thank you! You've solved my mystery (or better worded, my lack of understanding.)
You noted the core64+kernel64 is only intended for 32 bit extensions. Is this the repo design/structure or is core64 simply unable to run 64 bit extensions?
core(32) + kernel(32) = extension(32) only
pure(64) + kern/mod(64) = extension(64) only
Can core(64) + kernel(64) "handle" 64 bit extensions? (I'd imagine I'd have to finagle things to bring them in as opposed to using tc-load, I'm just curious.)
Thanks again and take care!
Navigation
[0] Message Index
[#] Next page
Go to full version