Coder Social home page Coder Social logo

docker-tinycore's People

Contributors

b1sandmann avatar chazzam avatar tatsushid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-tinycore's Issues

Image with pre-installed compiletc

I made a variant where "compiletc" is pre-installed:

FROM tinycore:9.0-x86_64

RUN tce-load -wic compiletc \
    && rm -rf /tmp/tce/optional/*

It comes in handy when cross-compiling for TCL.


Maybe it is something that could be provided ?

REPOSITORY                     TAG          IMAGE ID       CREATED       SIZE
localhost/tinycore             9.0-x86_64   27343c7fecc7   8 weeks ago   8.66 MB
localhost/tinycore-compiletc   9.0-x86_64   f6e0e3b9fc58   8 weeks ago   153 MB

Saves time (and bandwidth) for new containers.

Document minimum kernel requirements

Seems like glibc now requires newer kernel:

$ docker run -it tatsushid/tinycore:9.0-x86_64
/ $ exit
$ docker run -it tatsushid/tinycore:10.0-x86_64
Unable to find image 'tatsushid/tinycore:10.0-x86_64' locally
10.0-x86_64: Pulling from tatsushid/tinycore
3348b3ad1ead: Pull complete 
55412ab21c7e: Pull complete 
07e7496af627: Pull complete 
Digest: sha256:b56ab3b4453c45e07ce0448b33481a9dc8ee5ce9b6ddaecd4b4b2ffb62b293b2
Status: Downloaded newer image for tatsushid/tinycore:10.0-x86_64
FATAL: kernel too old

Tiny Core Linux 10.0 now requires 4.8 to run...

  • 8.x: glibc-2.24, --enable-kernel=3.16.6
  • 9.x: glibc-2.26, --enable-kernel=4.2.9
  • 10.x: glibc-2.28, --enable-kernel=4.8.17

Not so much that can be done about this inside the container though (except for rebuilding glibc ?)

But it means e.g. that you can no longer run it on Ubuntu 16.04, need to upgrade to Ubuntu 18.04

Error with liblzma during TCZ installation

Hello,

When I try to install a software I have an error:

/ $ tce-load -wic nano.tcz
nano.tcz.dep OK
Downloading: ncursesw.tcz
Connecting to proxy:8080 (XX.XX.XX.XX:8080)
ncursesw.tcz         100% |**************************************************************************|   228k  0:00:00 ETA
ncursesw.tcz: OK
/usr/local/bin/unsquashfs: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
Downloading: file.tcz
Connecting to proxy:8080 (XX.XX.XX.XX:8080)
file.tcz             100% |**************************************************************************|   412k  0:00:00 ETA
file.tcz: OK
/usr/local/bin/unsquashfs: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
Downloading: nano.tcz
Connecting to proxy:8080 (XX.XX.XX.XX:8080)
nano.tcz             100% |**************************************************************************|   144k  0:00:00 ETA
nano.tcz: OK
/usr/local/bin/unsquashfs: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory

I tried to find a similar error without success.

Configuration:
Host...: Windows 10 Pro + Virtualbox 5.1
Guest.: ALPINE LINUX 3.8 x64 + DOCKER 18.06

Perhaps you have an idea on this message:-).

Avoid mount also for regular install ?

Currently the mount command is avoided for the copy only, but not for the regular install command.

This means that it fails, when not running --privileged: mount: permission denied (are you root?)

If you use the same workaround there as well, that would allow running the usual tce-load -wi:

@@ -135,7 +135,7 @@ install(){
 		else
 			[ -d /tmp/tcloop/"$APPNAME" ] || sudo /bin/mkdir -p /tmp/tcloop/"$APPNAME"
 			awk -v appname="/tmp/tcloop/$APPNAME" ' { if ( $2 == appname )  exit 1 }' /etc/mtab
-			[ "$?" == 1 ] || sudo /bin/mount "$THISAPP" /tmp/tcloop/"$APPNAME" -t squashfs -o loop,ro 2>&1
+			[ "$?" == 1 ] || sudo /usr/local/bin/unsquashfs -f -d /tmp/tcloop/"$APPNAME" "$THISAPP" 2>&1 >/dev/null
 			[ "$?" == 0 ] || abort_to_saved_dir
 			[ "`find /tmp/tcloop/${APPNAME} -mindepth 1 -maxdepth 2 | wc -l`" -le 1 ] && EMPTYEXT=1
 
@@ -147,7 +147,7 @@ install(){
 					[ -s /etc/sysconfig/desktop ] && desktop.sh "$APPNAME"
 				fi
 			else
-				sudo /bin/umount -d /tmp/tcloop/"$APPNAME"
+				sudo rm -rf /tmp/tcloop/"$APPNAME"
 				update_system "$THISAPP" "$APPNAME"
 			fi
 		fi

This means that it would work (similar to regular Tiny Core Linux) out-of-the-box...

User can mount a docker volume on /tmp/tcloop, for a more similar experience.

Can't run image in the background.

When trying to start the machine via docker run -d 533fceaa79a9 the image outputs the docker ID as normal, but when I try to use docker attach <outputid> docker says there are no running containers. I do docker ps -l and it outputs:

 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
e58037e7bd9d        533fceaa79a9        "/bin/sh"           10 seconds ago      Exited (0) 9 seconds ago                       distracted_mccarthy   

I'm new to docker and have read the help documentation but am still lost. Is this image not built to run in the background?

Invalid squashfs-tools.tar.gz for 8.0 images

The squashfs-tools.tar.gz tarball used in the 8.0 image is invalid, and as such the file is just copied to the image, rather than being unpacked.

$ docker run --rm tatsushid/tinycore:8.0-x86_64 ls -l
total 100
drwxr-xr-x    1 root     root           704 Apr 10 23:04 bin
drwxrwxr-x    5 root     root           360 Jun  2 07:43 dev
drwxr-xr-x    1 root     root           454 Jun  2 07:43 etc
drwxrwxr-x    1 root     root             4 Apr 29 03:02 home
-rwxr-xr-x    1 root     root           496 Apr 10 23:04 init
drwxr-xr-x    1 root     root          1104 Apr 10 23:04 lib
lrwxrwxrwx    1 root     root            11 Apr 10 23:04 linuxrc -> bin/busybox
drwxrwxr-x    1 root     root             0 Apr 10 23:04 mnt
drwxrwsr-x    1 root     root           140 Apr 10 23:04 opt
dr-xr-xr-x  248 root     root             0 Jun  2 07:43 proc
drwxrwxr-x    1 root     root            36 Apr 10 23:04 root
drwxrwxr-x    1 root     root             8 Apr 10 23:04 run
drwxr-xr-x    1 root     root           844 Apr 10 23:04 sbin
-rw-r--r--    1 root     root         93806 Apr 29 03:02 squashfs-tools.tar.gz
dr-xr-xr-x   13 root     root             0 Jun  2 07:43 sys
drwxrwxrwt    1 root     root            38 Apr 29 03:02 tmp
drwxr-xr-x    1 root     root            40 Apr 10 23:04 usr
drwxrwxr-x    1 root     root            52 Apr 10 23:04 var

Notice the tar.gz file on the 5th line from the bottom.

There are no issues with the file in 7.2

Fails to install software inside the image

I'd like to install some tools inside the container started based on this image but I'm failing at it.

The software can be downloaded and installed but fails to be loaded into the current image.

tc@abd4d07279b1:~$ tce-load -il gcc.tcz
mount: permission denied (are you root?)
tc@abd4d07279b1:~$ sudo tce-load -il gcc.tcz
Don't run this as root.

Any thoughts?

TinyCore 11.x released

Hi @tatsushid, I was wondering if you have plans to publish a release for TinyCore 11.x. I can make a pull request with the changes if you're too busy.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.