WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: TinyCoreLinux 13.x docker container on x86-64  (Read 4112 times)

Offline innovarew

  • Newbie
  • *
  • Posts: 1
TinyCoreLinux 13.x docker container on x86-64
« on: September 07, 2022, 06:15:30 AM »
Hi there,

I was looking for running TinyCoreLinux as a docker container on x86-64, found some links from 3 years ago:
https://github.com/tatsushid/docker-tinycore/

However, I ended building a tinycore 13.x docker image from scratch, for my use, that can be found at:
https://github.com/innovarew/docker-tinycore

I'm just letting you know, to see if there's interest / or is useful for the tinycorelinux community.

Best, and thanks.
--
innovarew

Offline linic

  • Newbie
  • *
  • Posts: 19
Re: TinyCoreLinux 13.x docker container on x86-64
« Reply #1 on: January 28, 2024, 11:42:51 PM »
Hi innovarew! I find your project awesome! I learned a lot!

I wanted to make an image of 14.x x86 so I made this https://github.com/linic/docker-tcl-core-x86.

Thanks for making https://github.com/innovarew/docker-tinycore and posting here!

Offline linic

  • Newbie
  • *
  • Posts: 19
Re: TinyCoreLinux 13.x docker container on x86-64
« Reply #2 on: February 25, 2024, 09:32:00 AM »
For anyone interested, I made TCL Core x86 image with rust-1.75.0 here https://hub.docker.com/repository/docker/linichotmailca/tcl-core-rust-i586/general
There's the github repo that goes with it https://github.com/linic/tcl-core-rust-i586
In the image, if you
Code: [Select]
sudo docker exec -it tcl-core-rust-i586-main-1 sh you'll be in
Code: [Select]
/home/tc and you'll see 2 .tcz files. There's rust tcz compiled for i586 CPUs like the Pentium II from the IBM 560Z and an accompanying openssl tcz with libssl.so and libcrypto.so also compiled for i586. The tcz files can be retrieved by using
Code: [Select]
sudo docker cp tcl-core-rust-i586-main-1:/home/tc/<name>.tcz . My IBM 560Z doesn't have enough RAM to tce-load them, but I believe they should work. I tested the code in the rust tcz file by adding it to my path and it works like it does in the docker container.

Offline rhermsen

  • Wiki Author
  • Full Member
  • *****
  • Posts: 109
Re: TinyCoreLinux 13.x docker container on x86-64
« Reply #3 on: October 26, 2024, 09:29:32 AM »
Thank you innovarew and linic

I have been looking at both https://github.com/innovarew/docker-tinycore and https://github.com/linic/docker-tcl-core-x86

I tried to patch /opt/bootlocal.sh to have some additional commands executed during start-up, but found /opt/bootlocal.sh is not executed.

From what I get it should have started via: /etc/init.d/tc-config > /opt/bootsync.sh > /opt/bootlocal.sh

Still need to dig some more in the scripts, but if you have some pointers...

Offline rhermsen

  • Wiki Author
  • Full Member
  • *****
  • Posts: 109
Re: TinyCoreLinux 13.x docker container on x86-64
« Reply #4 on: October 28, 2024, 03:46:54 PM »
Mostly solved while trying to debug:

/etc/init.d/tc-config
changed
Code: [Select]
/opt/bootsync.shto
Code: [Select]
touch /tmp/bootsync.txt
/opt/bootsync.sh > /tmp/bootsync.txt 2>&1

/opt/bootsync.sh
changed
Code: [Select]
/opt/bootlocal.sh &to
Code: [Select]
touch /tmp/bootlocal.txt
/opt/bootlocal.sh > /tmp/bootlocal.txt 2>&1

Suspect background a process didn't work.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11656
Re: TinyCoreLinux 13.x docker container on x86-64
« Reply #5 on: October 28, 2024, 07:15:13 PM »
Hi rhermsen
... Suspect background a process didn't work.
What you have done is block the completion of tc-config until bootlocal.sh completes.

Some things don't belong in bootlocal.sh, kmaps for example. This explains why and
describes the timing of events:
https://forum.tinycorelinux.net/index.php/topic,23698.msg148996.html#msg148996

The blueman.tcz.info suggests bluez should be started before a GUI:
https://forum.tinycorelinux.net/index.php/topic,25702.msg164798.html#msg164798

When it comes to automatically starting programs, scripts, daemons, etc., the basic rules of thumb are:
1. Things that need to run before a GUI are started (like kmaps) should go into  /opt/bootsync.sh.
2. Things that need to run after a GUI are started (like starting a GUI app) should go into  ~/.X.d.
3. Things that are not sensitive to when they are started can go into  /opt/bootlocal.sh  which runs in the background.

When starting something from numbers 1 or 3, you need to specify a full path. They run before any user is logged in.

Item 2 is unique to each user.

Offline rhermsen

  • Wiki Author
  • Full Member
  • *****
  • Posts: 109
Re: TinyCoreLinux 13.x docker container on x86-64
« Reply #6 on: October 29, 2024, 04:07:37 PM »
Hi Rich,
Thanks for all the info. Will keep this for reference...

Tested with just 'touch /tmp/bootlocal_started' in /opt/bootlocal.sh
and 'touch /tmp/bootsync_started' in /opt/bootsync.sh.

After boot I only see 'bootsync_started' in /tmp.

No idea why background a process is not working during bootup.
And indeed understand it is blocking the completion of the lines in tc-config following bootsync.sh if '/opt/bootlocal.sh' is not a background process.

After bootup 'sudo /opt/bootlocal.sh &' is normally working.