!Core Linux general tips --- 15 June 2026 --- These notes were emailed to me by a friend. I'll add my notes as I modify the OS. --- ## Rebuild core.gz #Unpack core.gz (base system files unpacked to RAM at start-up) cd /tmp wget http://repo.tinycorelinux.net/17.x/x86/release/distribution_files/core.gz * (or copy core.gz from root directory on bootable media) mkdir core cd core gzip -d -c ../core.gz | sudo cpio -i -d * Make changes/removals/additions to unpacked / filesystem #Repack core.gz cd /tmp/core sudo find | sudo cpio -o -H newc | gzip -9 > ../core.gz * Move new mydata.tcz to root directory on bootable media ## Edit mydata.tgz (user files and added/changed system files unpacked to RAM at start-up) #Unpack mydata.tgz cd /tmp * Copy mydata.tcz from tce directory on bootable media mkdir mydata cd mydata tar xzf ../mydata.tgz * Make changes/removals/additions to unpacked / files #Repack mydata.tgz cd /tmp/mydata tar czf ../mydata.tgz * * Move new mydata.tcz to tce directory on bootable media #After booting When running TC, files/directories listed in /opt/.filetool.lst are saved to mydata.tgz with the "backup" or "filetool.sh -b" commands (excluding files/directories listed in the /opt/.xfiletool.lst file). ## Create text-mode menu Notes: WiFi requires loading extensions listed in tce/wifi.list on the disk/ISO image, which include over 100MB of firmware files for maximum compatibil- ity. I haven't compiled this list for the current TC version. The menu script runs as root but "sudo -u tc" can be used to run Telnet, SSH, etc. as a normal user. You can put this in usr/local/bin in mydata.tcz or core.gz as shown above. ---------------------------------------------------- #!/bin/sh # Run with sudo at log-in # TODO: Manual IP address settings instead of DHCP ETHIF= WIFIIF= if= oldif= SELECTION= clear echo ' WELCOME MESSAGE ' # Automatically start WiFi if "wifion" command is on the kernel command line grep -q wifion /proc/cmdline && SELECTION=w while true do [ -z "$SELECTION" ] && read -p 'Open (t)elnet, configure (w)ifi or (e)thernet, change audio (v)olume, or +(s)hutdown? ' SELECTION case "$SELECTION" in V | \ v) alsamixer SELECTION= continue ;; W | \ w) # Load wireless extensions [ -z "$WIFIIF" ] && sudo -u tc tce-load -i `cat /etc/sysconfig/tcedir/optional/wifi.list` # Run WiFi config scipt - auto connect to last network if remembered [ -s /etc/sysconfig/tcedir/wifi.db ] && wifi.sh -a || wifi.sh # Find name of WiFi interface in use WIFIIF=`expr "\`iwconfig 2>/dev/null\`" : '\([a-z]*[0-9]*\)[[:space:]]*IEEE +802.11[[:space:]]*ESSID:"'` # Disable previously used interface if successful [ "$if" -a "$WIFIIF" ] && ifconfig $if down 2>&1 >/dev/null if=$WIFIIF ;; E | \ e) read -p 'Interface Number (press Enter for 0)? ' IFNO [ -z "$IFNO" ] && IFNO=0 ETHIF=eth$IFNO # Activate, and disable last interface if successful if udhcpc -i eth$IFNO -n && [ "$if" -a "$if" != "$ETHIF" ] then ifconfig $if down 2>&1 >/dev/null fi if=$ETHIF ;; S | \ s) poweroff exit ;; t | \ T) sudo -u tc telnet bbs.example.com *) SELECTION= continue ;; esac # Check whether an IP address was obtained ip=`expr "\`ifconfig $if 2>/dev/null\`" : '.*inet addr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)'` [ "$ip" ] && echo -e "Network Interface $if Enabled\nIP Address is: $ip" || if=$oldif oldif=$if SELECTION= done ---------------------------------------------------- #Start menu at boot Create a file in mydata.tgz or core.gz at home/tc/.ashrc containing: menu.sh # Set display mode Tiny Core uses the VGA/VESA display modes and the default low resolution can look blurry on LCD displays. On non-UEFI BIOS PCs you can use the boot code "vga=ask" to have it show a menu of available display modes you can pick from, then latter change the boot code to "vga=[your chosen display mode]". Boot codes are set at the the "APPEND" line in syslinux.cfg on disk images or isolinux.cfg on ISO images. I'm not sure how you're meant to find available display modes on UEFI-only PCs. Or you can download the display driver and firmware extensions required for the PC's particular GPU, and add the extension names to onboot.lst. When it loads during start-up the console should automatically switch to the default resolution used by the display driver.