PiCore (Tiny Core) Linux on Raspbeery Pi

PiCore (Tiny Core) Linux on Raspbeery Pi

10 September 2023 0 By Anshul Pal

Tiny Core represents a unique and fundamental iteration of the Linux computer system, inclusive of its tools. piCore, in turn, resembles a variant of Tiny Core tailored exclusively for the Raspberry Pi computer. Robert Shingledecker initiated its development, and a small group of developers currently maintains it with community assistance. Notably, piCore operates exclusively within the computer’s memory, obviating the necessity for a disk or the standard setup process upon activation.

Tiny Core Linux is not like regular Linux systems you might have heard of. Instead, it’s like a toolbox that lets you create your own customized computer setup. People know it for its flexibility, its small space requirements, and its inclusion of the latest software. This makes it great for making your own unique computer, building special gadgets, or learning about Linux, especially on the Raspberry Pi.

You may also like : How to turn a Raspberry pi into a Router 

Features of Tiny Core

  • Tiny Core offers a highly compact and lightweight operating system, with a mere 10-megabyte size, making it exceptionally versatile for usage scenarios ranging from USB sticks to small CDs and embedded devices.
  • Powered by the Linux Kernel and a suite of command-line tools (text interface) including busybox, Tiny Core combines minimalism with functionality.
  • It features a flexible and fully customizable Graphical User Interface Desktop, FLWM, which provides out-of-the-box support for peripherals like mouse, keyboard, and screen. Additionally, users can easily experiment with various other desktop environments like Fluxbox, XFCE, OpenBox, IceWM, Joe’s WM, LXDE, and more.
  • Tiny Core’s minimalism extends to its software selection, as it doesn’t come bundled with most end-user applications. Instead, it allows users to efficiently select, download, and install their preferred software, such as web browsers, word processors, and music players.
  • Notably, Tiny Core is exceptionally stable due to its unique approach of generating fresh program “extensions” during each boot, reducing the risk of system file damage.
  • The operating system excels in speed, with the ability to run entirely from RAM, providing rapid performance, even handling resource-intensive applications like Open Office and Firefox efficiently.
  • Tiny Core seamlessly connects to the internet, usually detecting network cards quickly after boot, allowing users to swiftly add applications and tools as needed.
  • For those who prefer a GUI-free environment, MicroCore is available, a variant of Tiny Core without X, occupying less than 7 MB.
  • Tiny Core boasts an active open-source community, driven by dedicated individuals who contribute to its development, maintain forums, share experiences in the wiki, and expand the Tiny Core Repository with new extensions (programs).

How to Setup Tiny Core Linux

Step-1 :  You can download the latest piCore image from the following download link (for this article I am using the piCore-9.0.3.zip image) –


Step-2 : 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 –


Recommended: Etcher – Flash OS images to SD cards & USB drives, safely and easily

Step-3 : Connect your SD Card with your computer and use Etcher to flash it with OS.

Step-4 : Connect the flashed SD Card on your Raspberry Pi and power it on.

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.

 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 –

tc@box:~$ sudo resize2fs /dev/mmcblk0p2
resize2fs 1.43.4 (12-Jun-2017)
Filesystem at /dev/mmcblk0p2 is mounted on /mnt/mmcblk0p2; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 104
The filesystem on /dev/mmcblk0p2 is now 13561088 (1k) blocks long.

With this, your Raspberry Pi is ready with piCore.

The default user ssh or shell user for piCore is “tc” and its default password is “piCore“.

For “root” user, login to piCore shell using “tc” user and run “sudo passwd” command to change the root password.

Suggested Reads!