This is possibly the smallest OS you can install on the raspberry pi, Tiny Core, weighing in just about 70mb this OS is not only small but it is also fast! Since the design of the OS is meant to be ran off the RAM you will no longer have the bottle neck of the SD card. In this guild I will show you how to install this on the Raspberry Pi Zero W along with setting up the WIFI and GUI.
Equipment List
Raspberry Pi Zero W ► Amazon | Ebay
Software List
Tiny Core Linux ► http://www.tinycorelinux.net
Etcher ► https://etcher.io/
Links
Tiny Core Forums ► http://forum.tinycorelinux.net
Tiny Core Install
Step 1: Install Tiny Core
Download the Image from http://www.tinycorelinux.net/downloads -> ports -> other ports -> raspberry pi stable
You can download the wireless modules from here
or manually download them from tinycore servers using this commandfor pkg in ca-certificates libiw libnl ncurses openssl readline wifi wireless-4.9.22-piCore wireless_tools wpa_supplicant firmware-rpi3-wireless; do for f in $pkg.tcz{,.dep,.info,.list,.md5.txt,.tree,.zsync}; do wget http://ftp.nluug.nl/os/Linux/distr/tinycorelinux/9.x/armv6/tcz/$f; done; done
load the files on to the piCore sdcard (remember to delete the kernel7 to make space for modules)
no we are ready to boot from sd card.
Expanding file system
To expand the file system we first need to delete the 2nd partition and recreate using the max amount of space
Step 1
$sudo fdisk -u /dev/mmcblk0
from here type p to list partitions and not the start size of partition 2
now we can delete the partition with d and recreate it with n.
create partition 2 then enter the start sector.
hit enter again to use default last sector.
now type w to write to disk
we now need to reboot
Step 2
Now that we told the OS the largest size possible for partition 2, we need to resize the filesystem so it can be used with the command below
$sudo resize2fs /dev/mmcblk0p2
you are now done. to test type
$du -h
this should list the size of mmcblk0p2
Installing Wifi Modules
With the file we have downloaded earlier from out PC, we now need to copy those file over to our partition 2.
Step 1
To start we need to mount partition 1, which we commonly know as /boot and copy the file for the wireless modules.
$sudo mount /dev/mmcblk0p1 /mnt/mmcblk0p1
$cp /mnt/mmcblk0p1 /mnt/mmcblk0p2/tce/optional
now that everything is copied over we need to add it to the onboot.lst file so it will load the modules on every boot
$echo "firmware-rpi3-wireless.tcz" >> /mnt/mmcblk0p2/tce/onboot.lst
$echo "wifi.tcz" >> /mnt/mmcblk0p2/tce/onboot.lst
Step 2
to test everything you can simply type in these command in this order to load the modules manually
$tce-load -i firmware-rpi3-wireless
$tce-load -i wifi
to log in to a wifi network type
$sudo wifi.sh
Step 3
now that everything is tested and working, and logged in. we need to save these settings and make it persistent on reboot. to do this we need to type this command
$echo "wifi.sh -a" >> /opt/bootlocal.sh
and to save on reboot
$filetool.sh -b
Installing the Tiny Core GUI
This is probably the easiest step of them all. To install the GUI it’s 1 simple command
$tce-load -iw TC.tcz
this should only take a few mins. Once it’s done. you can either restart your device, or type
$startx
This is it!! check out the link to the forums if you are interested in getting more stuff working for the raspberry pi zero. thanks for the view
-don
hi, great tutorial on the installation.
currently the issue i face was the GUI once started, most of the app cant start including app browser, start and control panel. Possible to ask for help on this?
Thank you
Hi,
before launching Apps, you need to load libfontconfig.
To do so, open terminal and type:
tce-load -iw fontconfig.tcz
and then
filetool.sh -b
to make this change persistant.
Have fun !
This appears when I type in that command:
Downloading: fontconfig.tcz
wget: bad address ‘repo.tincorelinux.net’
….
any idea what’s happening?
Figured it out. My wifi got disconnected. Fixed it by changing a directory name because they did not match the ones in the tutorial.
Hi
Great tutorial. I have the same problem as e sheng above does. tried 2 rpi0 and redid the sd card 3 times. same results. Otherwise install worked fine.
Hi
good tutorial 🙂 …but same problem 🙁
Try running from terminal/SSH:
tce-load -wi fontconfig.tcz
Thanks! Now it works…
how do i install the gui, the TC.tcz doesn’t exist anymore?
its ok it works now
How I can configure I2C, SPI, Parallel port, composite video, etc… Is it there a config file?
You can install wiringpi library from Apps.
Hello, is there a way to install headless?. I do not have a screen. Can ssh over usb be done?
Great tutorial! Got tiny core running on my raspberry pi with no linux knowledge at all. However, I was expecting to install chromium or firefox via the Apps but I cannot find it. The only browser I could find was dillo3 wich doesn’t support JS (wich is required for my usecase). Any suggestions on how to install chromium?
When I do:
$echo “firmware-rpi3-wireless.tcz” >> /mnt/mmcblk0p2/tce/onboot.lst
$echo “wifi.tcz” >> /mnt/mmcblk0p2/tce/onboot.lst
then try:
$tce-load -i firmware-rpi3-wireless
$tce-load -i wifi
I get the error: “firmware-rpi3-wireless.tcz not found!”
How can I resolve this?
I have followed this TUT twice now and both times i have absolutely no keyboard and mouse upon boot.
kernel7 ? I don’t see it anywhere.
I don’t see it either since the video was done in 2018 and Don seems to not want to answer. I’m sure he’s busy but I would think someone else on here would help.
It’s up to version 13 now and has multiple v7 files. Let’s keep in touch and either of us will inform the other if we get an answer.
Cj
I just did this with version 12 and there are like 3 files. Which files do I delete?
Thanks
Stuck on no wifi devices found!
I did everything exactly word by word
My device is raspberry pi zero w
Please help 😭
Hi,
Thanks for the dierction. I just have a “small” issues. The wireless package has the 4.9.22 wireless piCore while the new kernel loks for the 5.10.16 wireless piCore.
Can you tell where it can be downloaded from ? (I am kust begining so probably a lot of stupid questions).
Don, great video. But…… Maybe you can help since the video is over 2 years old. And it’s on version 13 now.
I’m using the Pizero W. But version 13 is out. What kernel (exact file name(s)) do I delete for the Pi3 (since It’s needed to be deleted for the wifi) since there is multiple kernel 7 files?
Thanks so much for your help.
And all the great videos.
CJ
need to install opencv lib for picore on raspberry pi zero could you have a tutorial post or video about it ?
FYI, the wireless modules can be found here:
for pkg in ca-certificates libiw libnl ncurses openssl readline wifi wireless-5.10.77-piCore wireless_tools wpa_supplicant firmware-rpi3-wireless; do for f in $pkg.tcz{,.dep,.info,.list,.md5.txt,.tree,.zsync}; do wget http://tinycorelinux.net/13.x/armv6/tcz/$f; done; done
Here is the command that gets the wireless modules for tinycore 14. Note that, instead of merely updating the filename for wireless-KERNEL-piCore for every kernel revision, this method uses an FTP glob (wildcard) so it should continue to work even when the version number is bumped up:
wget -nc ftp://ftp.nluug.nl/pub/os/Linux/distr/tinycorelinux/14.x/armv6/tcz/{ca-certificates,iw,libnl,ncurses,openssl,readline,wifi,wireless-*-piCore,wireless_tools,wpa_supplicant,firmware-rpi-wifi,regdb}.tcz{,.info,.list,.md5.txt,.zsync,.dep,.tree}
Thanks Ben in Seattle for the updated command.
One additional change is that command to load the firmware in step 2 has changed:
FROM: $tce-load -i firmware-rpi3-wireless
TO: $tce-load -i firmware-rpi-wifi
You’ll also need to make the same change at the end of Step 1:
FROM: $echo “firmware-rpi3-wireless.tcz” >> /mnt/mmcblk0p2/tce/onboot.lst
TO: $echo “firmware-rpi.wifi.tcz” >> /mnt/mmcblk0p2/tce/onboot.lst