piCore (Tiny Core) Linux on Raspberry Pi

Tiny Core, a unique and minimalist distribution of the Linux operating system and tools. piCore is the Raspberry Pi port of Tiny Core Linux, which is an independent system architected by Robert Shingledecker and now developed by a small team of developers with strong community support. As piCore runs entirely in RAM, boot media is not used after boot and there is no installation in conventional terms.

Tiny Core Linux is not a traditional distribution but a toolkit to create your own customized system. It offers not only flexibility, small footprint but a very recent kernel and set of applications making it ideal for custom system, appliances as well as to learn Linux specially on the Raspberry Pi.

Why is Tiny Core special?

Tiny Core is:

Very Small. At 10 megabytes, Tiny Core is 1/400 to 1/100 the size of the most widely used operating systems in the world (even compared to most Linux distros). That makes Tiny Core flexible enough to be stored and run from usb sticks, a just-about-full CD, or even embedded devices. hardware.

Linux. Tiny Core uses the Linux Kernel and a set of command-line (text interface) tools including busybox.

A GUI Desktop. Tiny Core has a flexible and fully-customizable Graphical User Interface Desktop. Mouse, keyboard, and screen support basically works out-of-the-box thanks to FLWM, the FLTK Desktop. You can also quickly install and try out a variety of other desktops and interfaces including Fluxbox, XFCE, OpenBox, IceWM, Joe’s WM, LXDE, and others.

Unusually Stable. Every time Tiny Core loads, it is brand-spanking new. That means Tiny Core just doesn’t get a blue screen. Instead of installing programs into the system file space and risking damage to the system files, Tiny Core uses program ‘extensions’ that are re-prepared at each reboot … and they are prepared fast.

Unusually Fast. Unlike most operating systems, the Tiny Core can run completely from RAM. Individuals with RAM to spare can even use Tiny Core to load and run their programs from RAM (you didn’t know your computer could run Open Office and Firefox so quick). Experienced users can still install Tiny Core to disk, but Tiny Core can run in 48 megabytes of RAM … or less.

Internet ready. Tiny Core almost always finds your network card right right away. You’ll be adding applications and tools after an unusually quick boot. You can even come back here and ransack the forums if you find you need help.

Available even smaller. Linophiles that get things done without a GUI can get the MicroCore, a version of Tiny Core without X that is under 7 MB.

Step 1. Download the piCore image:

2. Download and Install Etcher:

After downloading the piCore image, you need to flash it into the SD Card of your Raspberry Pi. Etcher is a great utility to flash the OS images into SD Cards or USB Drives. You can download it from Etcher home page –

3. Burn the piCore image into SD Card:

Connect your SD Card with your computer and use Etcher to flash it with OS.

4. Boot Raspberry Pi with piCore:

Connect the flashed SD Card on your Raspberry Pi and power it on.

5. SD Card Partitions:

The first partition (/dev/mmcblk0p1) is Win95 FAT32 (VFAT) type partition; it contains the basic piCore system and the Raspberry Pi boot loader, firmware and other support files. This partition is unmounted during operation, and the system does not use it after the boot process gets completed.

The second one (/dev/mmcblk0p2) is ext4 type partition; it is used for pre-installed extensions like ssh. However, the size of this partition is very small and it won’t allow you to install any additional extensions. You must expand this partition to have enough free space for additional extensions and backups.

6. Expand the /dev/mmcblk0p2 Partition:

6.1 Start fdisk partitioning tool as root, using the following command –

sudo fdisk -u /dev/mmcblk0

6.2 Now list partitions with ‘p‘ command and write down the starting and
ending cylinders of the second partition.

6.3 Delete the second partition with ‘d‘ command and then enter ‘2‘ as ‘Partition Number’.

6.4 Create a new partition using ‘n‘ command. Select ‘p’ for ‘Primary Partition‘ and ‘2‘ for ‘Partition Number’. For ‘First Cylinder’ use the same value as you had in the original partition (you made note of this value in step # 6.2). You may use the default value for ‘Last Cylinder’ or may use the smaller value if you want to create more partitions (for ex: swap disk).

6.5 Reboot the system using the following command –

sudo reboot

6.6 After the system boots up, expand the ‘/dev/mmcblk0p2‘ partition using the “sudo resize2fs /dev/mmcblk0p2” command –

7. SSH from a Client Machine:

From Linux client machine you can use “ssh [email protected]_Address” command to login to your Tiny Core instance. On windows machines, you can use something like putty client for SSH login.

I hope you like this post”piCore (Tiny Core) Linux on Raspberry Pi”. Do you have any questions? Leave a comment down below! Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.

About Us

IoTbyHVM.OOO is an attempt to help the people by sharing the knowledge and ideas about Internet of things and other technology related articles and videos. IoTbyHVM.OOO provides articles related to Arduino, Raspberry Pi, use of all general purpose sensors, circuits, home automation, drones, smart TV, voice control TV , Micro Controller etc. for DIY (Do it Yourself) purpose.

If you want to help support me on my journey, consider sharing my articles, or Buy me a Coffee!

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.