WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Is there an easy way to permanently install an extension package?  (Read 2186 times)

Offline PeterSuh

  • Newbie
  • *
  • Posts: 9
Hello.

To display Korean fonts in Tinycore
This is a script that installs an extension package to permanently use rxvt with unicode support.

Is there a simple install command for permanent installation other than this complicated method?

------------------------------------------------------------

tce-load -wi glibc_apps glibc_i18n_locale unifont rxvt

if [ $? -eq 0 ]; then

   tcrppart="$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"

   echo "Download glibc_apps.tcz and glibc_i18n_locale.tcz OK, Permanent installation progress !!!"
   sudo cp -f /tmp/tce/optional/* /mnt/${tcrppart}/cde/optional
   sudo echo "" >> /mnt/${tcrppart}/cde/onboot.lst      
   sudo echo "glibc_apps.tcz" >> /mnt/${tcrppart}/cde/onboot.lst
   sudo echo "glibc_i18n_locale.tcz" >> /mnt/${tcrppart}/cde/onboot.lst
   sudo echo "unifont.tcz" >> /mnt/${tcrppart}/cde/onboot.lst
   sudo echo "rxvt.tcz" >> /mnt/${tcrppart}/cde/onboot.lst

   ucode="ko_KR"
   export LANG=${ucode}.UTF-8
   export LC_ALL=${ucode}.UTF-8
   sudo localedef -c -i ${ucode} -f UTF-8 ${ucode}.UTF-8
   sudo localedef -f UTF-8 -i ${ucode} ${ucode}.UTF-8

   echo "URxvt*encoding: UTF-8"  >> ~/.Xdefaults
   echo "URxvt*inputMethod: ibus"  >> ~/.Xdefaults
   echo "URxvt*locale: ${ucode}.UTF-8"  >> ~/.Xdefaults

   echo "You have finished installing TC Unicode package and urxvt. Reboot is required"
else
   echo "Download glibc_apps.tcz, glibc_i18n_locale.tcz FAIL !!!"
fi

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11516
Re: Is there an easy way to permanently install an extension package?
« Reply #1 on: October 10, 2023, 10:03:29 AM »
Hi PeterSuh
Welcome to the forum.

You could create an extension (KoreanRXVT.tcz for example).

You will need the tools for creating a squash file system:
Code: [Select]
tce-load -wi squashfs-tools.tcz
Create a work directory for the file system:
Code: [Select]
mkdir -p pkg/usr/local/tce.installed
Place a script with any commands that need to be executed after
the extension has been loaded in  pkg/usr/local/tce.installed.

The .Xdefaults section could be handled something like this:
Code: [Select]
#!/bin/sh

ucode="ko_KR"

grep -q "URxvt\*encoding: UTF-8" /home/$USER/.Xdefaults || echo "URxvt*encoding: UTF-8"  >> /home/$USER/.Xdefaults
grep -q "URxvt\*inputMethod: ibus" /home/$USER/.Xdefaults || echo "URxvt*inputMethod: ibus"  >> /home/$USER/.Xdefaults
grep -q "URxvt\*locale: ${ucode}.UTF-8" /home/$USER/.Xdefaults || echo "URxvt*locale: ${ucode}.UTF-8"  >> /home/$USER/.Xdefaults

For the environment exports, do something similar, maybe like this for example:
Code: [Select]
grep -q "export LANG=${ucode}.UTF-8" /home/$USER/.ashrc || echo "export LANG=${ucode}.UTF-8" >> /home/$USER/.ashrc
The script will automatically be run after the extension gets loaded.
The script must have the same name as the extension,  KoreanRXVT
in this example.

After you have done that, create the extension:
Code: [Select]
mksquashfs pkg KoreanRXVT.tcz -noappend
Create a dependency file called  KoreanRXVT.tcz.dep  containing
the following text:
Code: [Select]
glibc_apps glibc.tcz
i18n_locale.tcz
unifont.tcz
rxvt.tcz

Place the 2 files (and the files listed in KoreanRXVT.tcz.dep) in your
optional  directory and add  KoreanRXVT.tcz  to your  onboot.lst  file.

I see you are referencing a  cde  directory. Are you booting a read-only
device (CD) or did you use a third party installer? If you installed Tinycore
to a writable device, the directory name should be  tce , not  cde.

I'm sure what's going on here:
Code: [Select]
tcrppart="$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"
Maybe you wanted something like this:
Code: [Select]
readlink /etc/sysconfig/tcedir | cut -d '/' -f3

Offline PeterSuh

  • Newbie
  • *
  • Posts: 9
Re: Is there an easy way to permanently install an extension package?
« Reply #2 on: October 11, 2023, 12:35:56 AM »
Rich, thank you for your kind response.

Based on your guide, I rewrote the shell script to create my own package as shown below.

https://github.com/PeterSuh-Q3/tinycore-redpill/blob/main/makeownpkg.sh

The contents are as follows.

Code: [Select]
#!/bin/sh

tcrppart="$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"

if [ "$(which mksquashfs)_" == "_" ]; then
  tce-load -wi squashfs-tools.tcz
fi

if [ ! -d pkg/usr/local/tce.installed ]; then
  mkdir -p pkg/usr/local/tce.installed
fi

if [ $# -lt 1 ]; then
  echo "There is no new package name : ex) ./makeownpkg.sh newpkgname dependpkg1 dependpkg2 dependpkg3 dependpkg4 dependpkg5"
  exit 0
fi

if [ $# -lt 2 ]; then
  echo "There is no dependency package name : ex) ./makeownpkg.sh newpkgname dependpkg1 dependpkg2 dependpkg3 dependpkg4 dependpkg5"
  exit 0
fi

echo "packing n making my own package..."
mksquashfs pkg ${1}.tcz -noappend
sudo cp -f ${1}.tcz /mnt/${tcrppart}/cde/optional
grep -q "${1}.tcz" /mnt/${tcrppart}/cde/onboot.lst || echo "${1}.tcz" >> /mnt/${tcrppart}/cde/onboot.lst

echo -n "" > /mnt/${tcrppart}/cde/optional/${1}.tcz.dep
if [ $# -gt 1 ]; then
  echo "Create a dependency file for my own package... ${2}.tcz"
  echo "${2}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep
fi
if [ $# -gt 2 ]; then
  echo "Create a dependency file for my own package... ${3}.tcz"
  echo "${3}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep
fi
if [ $# -gt 3 ]; then
  echo "Create a dependency file for my own package... ${4}.tcz"
  echo "${4}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep
fi
if [ $# -gt 4 ]; then
  echo "Create a dependency file for my own package... ${5}.tcz"
  echo "${5}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep
fi
if [ $# -gt 5 ]; then
  echo "Create a dependency file for my own package... ${6}.tcz"
  echo "${6}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep
fi


I've included two more extensions, dosfstools and mtools, which are needed together with gparted.

Using gparted as an example, execution was as follows.

Code: [Select]
./makeownpkg.sh gparted_pkg gparted dosfstools mtools
1st sreenshot is the contents of the files created in onboot.lst and cde/optional.

It looks like everything is ready according to your guide,
How do I actually install it?
I rebooted like this, expecting an automatic installation, but gparted could not run.

I tried installing it like this, but I got an error. ( 2nd sreenshot )
What should I do?

Offline PeterSuh

  • Newbie
  • *
  • Posts: 9
Re: Is there an easy way to permanently install an extension package?
« Reply #3 on: October 11, 2023, 01:08:29 AM »




Quote
I see you are referencing a  cde  directory. Are you booting a read-only
device (CD) or did you use a third party installer? If you installed Tinycore
to a writable device, the directory name should be  tce , not  cde.

The original of this TC is the 12.0 version image first created by pocopico for Xpenology Redpill on github.

https://github.com/pocopico/tinycore-redpill/releases/tag/v0.9.2.6

I forked here and am making further modifications.

https://github.com/PeterSuh-Q3/tinycore-redpill/releases/tag/v0.9.5.0

I'm not sure of the original source, but it seems to exist only in /mnt/sdX3/cde.

And the tce path you provided exists under /tmp.
If I install with tce-load -wi, it will be installed in this location.
They are all volatile. When I reboot it goes away.
So, we are proceeding with the copying process using cde.
Is it right to do this?

Code: [Select]
tc@box:/mnt$ readlink /etc/sysconfig/tcedir
/tmp/tce
tc@box:/mnt$ ll /etc/sysconfig/tcedir
lrwxrwxrwx 1 root root 8 Oct 11 04:16 /etc/sysconfig/tcedir -> /tmp/tce
« Last Edit: October 11, 2023, 01:22:14 AM by PeterSuh »

Offline andyj

  • Hero Member
  • *****
  • Posts: 1036
Re: Is there an easy way to permanently install an extension package?
« Reply #4 on: October 11, 2023, 06:54:38 AM »
The .Xdefaults section could be handled something like this:
Code: [Select]
#!/bin/sh

ucode="ko_KR"

grep -q "URxvt\*encoding: UTF-8" /home/$USER/.Xdefaults || echo "URxvt*encoding: UTF-8"  >> /home/$USER/.Xdefaults
grep -q "URxvt\*inputMethod: ibus" /home/$USER/.Xdefaults || echo "URxvt*inputMethod: ibus"  >> /home/$USER/.Xdefaults
grep -q "URxvt\*locale: ${ucode}.UTF-8" /home/$USER/.Xdefaults || echo "URxvt*locale: ${ucode}.UTF-8"  >> /home/$USER/.Xdefaults

For the environment exports, do something similar, maybe like this for example:
Code: [Select]
grep -q "export LANG=${ucode}.UTF-8" /home/$USER/.ashrc || echo "export LANG=${ucode}.UTF-8" >> /home/$USER/.ashrc
The script will automatically be run after the extension gets loaded.
The script must have the same name as the extension,  KoreanRXVT
in this example.

This part might be easier handled by adding this script to /etc/profile.d as part of your package directory structure so it is executed by every user when they log in.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11516
Re: Is there an easy way to permanently install an extension package?
« Reply #5 on: October 11, 2023, 01:12:18 PM »
Hi PeterSuh
You have to have the following in /mnt/sda3/cde/optional:
dosfstools.tcz
mtools.tcz
mtools.tcz.dep plus everything listed in mtools.tcz.dep
gparted.tcz
gparted.tcz.dep plus everything listed in gparted.tcz.dep plus any dependencies they have.

Doing this by hand can be quite error prone. I wrote a script to handle this type of situation.
Read this:
https://forum.tinycorelinux.net/index.php/topic,23034.0.html
Download the attached script from here:
http://forum.tinycorelinux.net/index.php/topic,23034.msg164745.html#msg164745

See the User variables section of this script for setting the version and architecture
you want to download for.

Place the script in  /mnt/sda3/cde/optional , then:
Code: [Select]
cd /mnt/sda3/cde/optional
./FetchExt gparted mtools dosfstools
This will fetch each extension plus all of the files it requires.

One note about gparted, you need to start it as root like this:
Code: [Select]
sudo gpartedOr you can fix the desktop menu after you loaded gparted.tcz like this:
Code: [Select]
[ -f ~/.wmx/Applications/gparted ] && echo -e "#!/bin/sh\nexec sudo /usr/local/bin/gparted" > ~/.wmx/Applications/gparted

Offline PeterSuh

  • Newbie
  • *
  • Posts: 9
Re: Is there an easy way to permanently install an extension package?
« Reply #6 on: October 11, 2023, 11:18:26 PM »
thank you Rich.

I downloaded the script you provided and adjusted Tinycore's version to 12.x.

And I did it like below:
I thought I might need root privileges, but
All files downloaded or created in the optional directory were created by the root user.

However, gparted does not run.

Below is the log of the processing process.

Code: [Select]
tc@box:/mnt/sda3/cde/optional$ sudo ./FetchExt.sh gparted mtools dosfstools
chown: changing ownership of 'info.lst': Operation not permitted
.chown: changing ownership of 'adwaita-icon-theme.tcz': Operation not permitted
chown: changing ownership of 'adwaita-icon-theme.tcz.dep': Operation not permitted
chown: changing ownership of 'adwaita-icon-theme.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'at-spi2-atk.tcz': Operation not permitted
chown: changing ownership of 'at-spi2-atk.tcz.dep': Operation not permitted
chown: changing ownership of 'at-spi2-atk.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'at-spi2-core.tcz': Operation not permitted
chown: changing ownership of 'at-spi2-core.tcz.dep': Operation not permitted
chown: changing ownership of 'at-spi2-core.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'atk.tcz': Operation not permitted
chown: changing ownership of 'atk.tcz.dep': Operation not permitted
chown: changing ownership of 'atk.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'atkmm.tcz': Operation not permitted
chown: changing ownership of 'atkmm.tcz.dep': Operation not permitted
chown: changing ownership of 'atkmm.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'cairo.tcz': Operation not permitted
chown: changing ownership of 'cairo.tcz.dep': Operation not permitted
chown: changing ownership of 'cairo.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'cairomm.tcz': Operation not permitted
chown: changing ownership of 'cairomm.tcz.dep': Operation not permitted
chown: changing ownership of 'cairomm.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'dbus.tcz': Operation not permitted
chown: changing ownership of 'dbus.tcz.dep': Operation not permitted
chown: changing ownership of 'dbus.tcz.md5.txt': Operation not permitted
....chown: changing ownership of 'fribidi.tcz': Operation not permitted
chown: changing ownership of 'fribidi.tcz.dep': Operation not permitted
chown: changing ownership of 'fribidi.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'gdk-pixbuf2.tcz': Operation not permitted
chown: changing ownership of 'gdk-pixbuf2.tcz.dep': Operation not permitted
chown: changing ownership of 'gdk-pixbuf2.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'glibmm.tcz': Operation not permitted
chown: changing ownership of 'glibmm.tcz.dep': Operation not permitted
chown: changing ownership of 'glibmm.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'gparted.tcz': Operation not permitted
chown: changing ownership of 'gparted.tcz.dep': Operation not permitted
chown: changing ownership of 'gparted.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'graphite2.tcz': Operation not permitted
chown: changing ownership of 'graphite2.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'gtk3.tcz': Operation not permitted
chown: changing ownership of 'gtk3.tcz.dep': Operation not permitted
chown: changing ownership of 'gtk3.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'gtkmm.tcz': Operation not permitted
chown: changing ownership of 'gtkmm.tcz.dep': Operation not permitted
chown: changing ownership of 'gtkmm.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'hicolor-icon-theme.tcz': Operation not permitted
chown: changing ownership of 'hicolor-icon-theme.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libEGL.tcz': Operation not permitted
chown: changing ownership of 'libEGL.tcz.dep': Operation not permitted
chown: changing ownership of 'libEGL.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libGL.tcz': Operation not permitted
chown: changing ownership of 'libGL.tcz.dep': Operation not permitted
chown: changing ownership of 'libGL.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libGLESv2.tcz': Operation not permitted
chown: changing ownership of 'libGLESv2.tcz.dep': Operation not permitted
chown: changing ownership of 'libGLESv2.tcz.md5.txt': Operation not permitted
.....chown: changing ownership of 'libXcomposite.tcz': Operation not permitted
chown: changing ownership of 'libXcomposite.tcz.dep': Operation not permitted
chown: changing ownership of 'libXcomposite.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libXcursor.tcz': Operation not permitted
chown: changing ownership of 'libXcursor.tcz.dep': Operation not permitted
chown: changing ownership of 'libXcursor.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libXdamage.tcz': Operation not permitted
chown: changing ownership of 'libXdamage.tcz.dep': Operation not permitted
chown: changing ownership of 'libXdamage.tcz.md5.txt': Operation not permitted
...chown: changing ownership of 'libXfixes.tcz': Operation not permitted
chown: changing ownership of 'libXfixes.tcz.dep': Operation not permitted
chown: changing ownership of 'libXfixes.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'libXi.tcz': Operation not permitted
chown: changing ownership of 'libXi.tcz.dep': Operation not permitted
chown: changing ownership of 'libXi.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libXinerama.tcz': Operation not permitted
chown: changing ownership of 'libXinerama.tcz.dep': Operation not permitted
chown: changing ownership of 'libXinerama.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libXrandr.tcz': Operation not permitted
chown: changing ownership of 'libXrandr.tcz.dep': Operation not permitted
chown: changing ownership of 'libXrandr.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'libXxf86vm.tcz': Operation not permitted
chown: changing ownership of 'libXxf86vm.tcz.dep': Operation not permitted
chown: changing ownership of 'libXxf86vm.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libcroco.tcz': Operation not permitted
chown: changing ownership of 'libcroco.tcz.dep': Operation not permitted
chown: changing ownership of 'libcroco.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libdrm.tcz': Operation not permitted
chown: changing ownership of 'libdrm.tcz.dep': Operation not permitted
chown: changing ownership of 'libdrm.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libepoxy.tcz': Operation not permitted
chown: changing ownership of 'libepoxy.tcz.md5.txt': Operation not permitted
.....chown: changing ownership of 'libpciaccess.tcz': Operation not permitted
chown: changing ownership of 'libpciaccess.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'librsvg.tcz': Operation not permitted
chown: changing ownership of 'librsvg.tcz.dep': Operation not permitted
chown: changing ownership of 'librsvg.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libsigc++.tcz': Operation not permitted
chown: changing ownership of 'libsigc++.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'libtiff.tcz': Operation not permitted
chown: changing ownership of 'libtiff.tcz.dep': Operation not permitted
chown: changing ownership of 'libtiff.tcz.md5.txt': Operation not permitted
...chown: changing ownership of 'libxshmfence.tcz': Operation not permitted
chown: changing ownership of 'libxshmfence.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'pango.tcz': Operation not permitted
chown: changing ownership of 'pango.tcz.dep': Operation not permitted
chown: changing ownership of 'pango.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'pangomm.tcz': Operation not permitted
chown: changing ownership of 'pangomm.tcz.dep': Operation not permitted
chown: changing ownership of 'pangomm.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'parted.tcz': Operation not permitted
chown: changing ownership of 'parted.tcz.dep': Operation not permitted
chown: changing ownership of 'parted.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'pixman.tcz': Operation not permitted
chown: changing ownership of 'pixman.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'shared-mime-info.tcz': Operation not permitted
chown: changing ownership of 'shared-mime-info.tcz.dep': Operation not permitted
chown: changing ownership of 'shared-mime-info.tcz.md5.txt': Operation not permitted
..chown: changing ownership of 'glibc_gconv.tcz': Operation not permitted
chown: changing ownership of 'glibc_gconv.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'mtools.tcz': Operation not permitted
chown: changing ownership of 'mtools.tcz.dep': Operation not permitted
chown: changing ownership of 'mtools.tcz.md5.txt': Operation not permitted
.chown: changing ownership of 'dosfstools.tcz': Operation not permitted
chown: changing ownership of 'dosfstools.tcz.md5.txt': Operation not permitted
.
OK

chown: changing ownership of 'info.lst': Operation not permitted
chown: changing ownership of 'Log.txt': Operation not permitted
chown: changing ownership of 'Dependency.list': Operation not permitted
tc@box:/mnt/sda3/cde/optional$


Code: [Select]
tc@box:/mnt/sda3/cde/optional$ cat Log.txt

Thu Oct 12 02:54:48 UTC 2023
http://repo.tinycorelinux.net/12.x/x86/tcz/
Processing gparted.tcz
adwaita-icon-theme.tcz downloaded.
adwaita-icon-theme.tcz.dep downloaded.
adwaita-icon-theme.tcz.md5.txt downloaded.
at-spi2-atk.tcz downloaded.
at-spi2-atk.tcz.dep downloaded.
at-spi2-atk.tcz.md5.txt downloaded.
at-spi2-core.tcz downloaded.
at-spi2-core.tcz.dep downloaded.
at-spi2-core.tcz.md5.txt downloaded.
atk.tcz downloaded.
atk.tcz.dep downloaded.
atk.tcz.md5.txt downloaded.
atkmm.tcz downloaded.
atkmm.tcz.dep downloaded.
atkmm.tcz.md5.txt downloaded.
bzip2-lib.tcz already downloaded.
cairo.tcz downloaded.
cairo.tcz.dep downloaded.
cairo.tcz.md5.txt downloaded.
cairomm.tcz downloaded.
cairomm.tcz.dep downloaded.
cairomm.tcz.md5.txt downloaded.
dbus.tcz downloaded.
dbus.tcz.dep downloaded.
dbus.tcz.md5.txt downloaded.
expat2.tcz already downloaded.
fontconfig.tcz already downloaded.
freetype.tcz already downloaded.
fribidi.tcz downloaded.
fribidi.tcz.dep downloaded.
fribidi.tcz.md5.txt downloaded.
gdk-pixbuf2.tcz downloaded.
gdk-pixbuf2.tcz.dep downloaded.
gdk-pixbuf2.tcz.md5.txt downloaded.
glib2.tcz already downloaded.
glibmm.tcz downloaded.
glibmm.tcz.dep downloaded.
glibmm.tcz.md5.txt downloaded.
gparted.tcz downloaded.
gparted.tcz.dep downloaded.
gparted.tcz.md5.txt downloaded.
graphite2.tcz downloaded.
graphite2.tcz.md5.txt downloaded.
gtk3.tcz downloaded.
gtk3.tcz.dep downloaded.
gtk3.tcz.md5.txt downloaded.
gtkmm.tcz downloaded.
gtkmm.tcz.dep downloaded.
gtkmm.tcz.md5.txt downloaded.
harfbuzz.tcz already downloaded.
hicolor-icon-theme.tcz downloaded.
hicolor-icon-theme.tcz.md5.txt downloaded.
libEGL.tcz downloaded.
libEGL.tcz.dep downloaded.
libEGL.tcz.md5.txt downloaded.
libGL.tcz downloaded.
libGL.tcz.dep downloaded.
libGL.tcz.md5.txt downloaded.
libGLESv2.tcz downloaded.
libGLESv2.tcz.dep downloaded.
libGLESv2.tcz.md5.txt downloaded.
libICE.tcz already downloaded.
libSM.tcz already downloaded.
libX11.tcz already downloaded.
libXau.tcz already downloaded.
libXcomposite.tcz downloaded.
libXcomposite.tcz.dep downloaded.
libXcomposite.tcz.md5.txt downloaded.
libXcursor.tcz downloaded.
libXcursor.tcz.dep downloaded.
libXcursor.tcz.md5.txt downloaded.
libXdamage.tcz downloaded.
libXdamage.tcz.dep downloaded.
libXdamage.tcz.md5.txt downloaded.
libXdmcp.tcz already downloaded.
libXext.tcz already downloaded.
libXfixes.tcz downloaded.
libXfixes.tcz.dep downloaded.
libXfixes.tcz.md5.txt downloaded.
libXft.tcz already downloaded.
libXi.tcz downloaded.
libXi.tcz.dep downloaded.
libXi.tcz.md5.txt downloaded.
libXinerama.tcz downloaded.
libXinerama.tcz.dep downloaded.
libXinerama.tcz.md5.txt downloaded.
libXrandr.tcz downloaded.
libXrandr.tcz.dep downloaded.
libXrandr.tcz.md5.txt downloaded.
libXrender.tcz already downloaded.
libXxf86vm.tcz downloaded.
libXxf86vm.tcz.dep downloaded.
libXxf86vm.tcz.md5.txt downloaded.
libcroco.tcz downloaded.
libcroco.tcz.dep downloaded.
libcroco.tcz.md5.txt downloaded.
libdrm.tcz downloaded.
libdrm.tcz.dep downloaded.
libdrm.tcz.md5.txt downloaded.
libepoxy.tcz downloaded.
libepoxy.tcz.md5.txt downloaded.
libffi.tcz already downloaded.
libjpeg-turbo.tcz already downloaded.
liblvm2.tcz already downloaded.
liblzma.tcz already downloaded.
libpciaccess.tcz downloaded.
libpciaccess.tcz.md5.txt downloaded.
libpng.tcz already downloaded.
librsvg.tcz downloaded.
librsvg.tcz.dep downloaded.
librsvg.tcz.md5.txt downloaded.
libsigc++.tcz downloaded.
libsigc++.tcz.md5.txt downloaded.
libtiff.tcz downloaded.
libtiff.tcz.dep downloaded.
libtiff.tcz.md5.txt downloaded.
libxcb.tcz already downloaded.
libxml2.tcz already downloaded.
libxshmfence.tcz downloaded.
libxshmfence.tcz.md5.txt downloaded.
ncursesw.tcz already downloaded.
pango.tcz downloaded.
pango.tcz.dep downloaded.
pango.tcz.md5.txt downloaded.
pangomm.tcz downloaded.
pangomm.tcz.dep downloaded.
pangomm.tcz.md5.txt downloaded.
parted.tcz downloaded.
parted.tcz.dep downloaded.
parted.tcz.md5.txt downloaded.
pcre.tcz already downloaded.
pixman.tcz downloaded.
pixman.tcz.md5.txt downloaded.
readline.tcz already downloaded.
shared-mime-info.tcz downloaded.
shared-mime-info.tcz.dep downloaded.
shared-mime-info.tcz.md5.txt downloaded.
udev-lib.tcz already downloaded.

Thu Oct 12 02:57:28 UTC 2023
http://repo.tinycorelinux.net/12.x/x86/tcz/
Processing mtools.tcz
glibc_gconv.tcz downloaded.
glibc_gconv.tcz.md5.txt downloaded.
mtools.tcz downloaded.
mtools.tcz.dep downloaded.
mtools.tcz.md5.txt downloaded.

Thu Oct 12 02:57:45 UTC 2023
http://repo.tinycorelinux.net/12.x/x86/tcz/
Processing dosfstools.tcz
dosfstools.tcz downloaded.
dosfstools.tcz.md5.txt downloaded.


Code: [Select]
tc@box:/mnt/sda3/cde/optional$ tce-load -i gparted dosfstools mtools
hicolor-icon-theme.tcz: OK
libcroco.tcz: OK
libtiff.tcz: OK
/usr/local/tce.installed/gdk-pixbuf2: line 2: /usr/local/bin/gdk-pixbuf-query-loaders: not found
gdk-pixbuf2.tcz: OK
fribidi.tcz: OK
libxshmfence.tcz: OK
libpciaccess.tcz: OK
libdrm.tcz: OK
libXxf86vm.tcz: OK
libXfixes.tcz: OK
libXdamage.tcz: OK
libGL.tcz: OK
libGLESv2.tcz: OK
libEGL.tcz: OK
pixman.tcz: OK
cairo.tcz: OK
pango.tcz: OK
/usr/local/tce.installed/librsvg: line 2: /usr/local/bin/gdk-pixbuf-query-loaders: not found
librsvg.tcz: OK
libXi.tcz: OK
libXrandr.tcz: OK
libXinerama.tcz: OK
libXcursor.tcz: OK
libXcomposite.tcz: OK
atk.tcz: OK
/usr/local/tce.installed/dbus: line 3: dbus-uuidgen: not found
dbus.tcz: OK
at-spi2-core.tcz: OK
at-spi2-atk.tcz: OK
libepoxy.tcz: OK
shared-mime-info.tcz: OK
/usr/local/tce.installed/gtk3: line 2: gtk-query-immodules-3.0: not found
gtk3.tcz: OK
/usr/local/tce.installed/adwaita-icon-theme: line 2: gtk-update-icon-cache: not found
adwaita-icon-theme.tcz: OK
libsigc++.tcz: OK
glibmm.tcz: OK
cairomm.tcz: OK
pangomm.tcz: OK
atkmm.tcz: OK
gtkmm.tcz: OK
parted.tcz: OK
/usr/local/tce.installed/gparted: line 2: gtk-update-icon-cache: not found
gparted.tcz: OK
dosfstools.tcz: OK
glibc_gconv.tcz: OK
mtools.tcz: OK


Code: [Select]
tc@box:/mnt/sda3/cde/optional$ sudo gparted
/usr/local/bin/gparted: line 201: /usr/local/sbin/gpartedbin: not found
tc@box:/mnt/sda3/cde/optional$ ll /usr/local/sbin/gpartedbin
lrwxrwxrwx 1 root root 45 Oct 12 03:05 /usr/local/sbin/gpartedbin -> /tmp/tcloop/gparted/usr/local/sbin/gpartedbin
tc@box:/mnt/sda3/cde/optional$ ll /tmp/tcloop/gparted/usr/local/sbin/gpartedbin
-rwxr-xr-x 1 root root 738304 Jul 21  2019 /tmp/tcloop/gparted/usr/local/sbin/gpartedbin



It's a bit primitive, but permanent installation is possible if you process the script below.
gparted also runs normally.

Code: [Select]
tce-load -iw gparted dosfstools mtools
tcrpdev=$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)
ce
sudo cp -f ./optional/* /mnt/${tcrpdev}3/cde/optional
cat onboot.lst >> /mnt/${tcrpdev}3/cde/onboot.lst

    [EDIT]: Replaced quote tags with code tags.  Rich
« Last Edit: October 12, 2023, 12:00:47 AM by Rich »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11516
Re: Is there an easy way to permanently install an extension package?
« Reply #7 on: October 11, 2023, 11:58:03 PM »
Hi PeterSuh
What does this command return:
Code: [Select]
df -T /mnt/sda3/cde/optional

Offline PeterSuh

  • Newbie
  • *
  • Posts: 9
Re: Is there an easy way to permanently install an extension package?
« Reply #8 on: October 12, 2023, 03:56:27 AM »
Quote
tc@box:~$ df -T /mnt/sda3/cde/optional
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sda3      vfat  3.9G  652M  3.3G  17% /mnt/sda3

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11516
Re: Is there an easy way to permanently install an extension package?
« Reply #9 on: October 12, 2023, 09:42:57 AM »
Hi PeterSuh
That explains these errors:
Code: [Select]
tc@box:/mnt/sda3/cde/optional$ sudo ./FetchExt.sh gparted mtools dosfstools
chown: changing ownership of 'info.lst': Operation not permitted
.chown: changing ownership of 'adwaita-icon-theme.tcz': Operation not permitted
chown: changing ownership of 'adwaita-icon-theme.tcz.dep': Operation not permitted
 ----- Snip -----
You are using VFAT which does not support ownership or permissions.

After  tinycore-redpill.v0.9.5.0.m-shell.img.gz is burned to a USB
stick, do you want the end user to be able to install additional
extensions?