Tiny Core Linux

Tiny Core Base => Raspberry Pi => Topic started by: geev03 on January 23, 2026, 03:35:45 PM

Title: Running Alpine Linux Inside piCore on Raspberry Pi 400 (Chroot Method)
Post by: geev03 on January 23, 2026, 03:35:45 PM
Here is clean way to run Alpine Linux inside piCore64 on a Raspberry Pi 400. This gives you Alpine’s full apk package ecosystem while keeping piCore’s minimal, RAM‑based design untouched. The setup works reliably and is useful for development, compiling, and sandboxing.

Below is a summary of the process and the important notes.
Why use Alpine inside piCore
piCore stays tiny, fast, and read‑only

Alpine provides a full userland with thousands of packages

No risk to the base system

Great for building software or running tools not available as .tcz

-----------------------------------------
1. Download and unpack Alpine (aarch64)
Code: [Select]
wget https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/aarch64/alpine-minirootfs-3.20.0-aarch64.tar.gz
mkdir /mnt/alpine
tar -xzf alpine-minirootfs-*.tar.gz -C /mnt/alpine

2. Mount required filesystems (from piCore host)
Code: [Select]
mount -t proc /proc /mnt/alpine/proc
mount -t sysfs /sys /mnt/alpine/sys
mount --bind /dev /mnt/alpine/dev
mount --bind /dev/pts /mnt/alpine/dev/pts

Fix DNS inside Alpine
Alpine may not ship with /etc/resolv.conf, so create it:
Code: [Select]
touch /mnt/alpine/etc/resolv.conf
mount --bind /etc/resolv.conf /mnt/alpine/etc/resolv.conf
3. Enter the Alpine environment
Code: [Select]
chroot /mnt/alpine /bin/sh

4. Update and install packages
Code: [Select]
apk update
apk add  fastfetch nano build-base python3 rust

5. What works well
Full Alpine package ecosystem

Compilers and build tools (gcc, clang, rust, cmake, etc.)

Networking and DNS

Fastfetch, shells, editors

Running Alpine apps directly on piCore’s kernel

6. What does not work
Podman / Docker
Podman fails during unpacking due to missing kernel features:

overlayfs with advanced options

cgroups v2

fuse-overlayfs

user namespace support

piCore’s kernel is intentionally minimal, so container runtimes are not viable.

proot
Alpine does not provide proot for aarch64 in any repo.
It must be installed manually from upstream binaries or built from source if needed.

7. System snapshot
Inside the chroot, tools like fastfetch correctly report:

OS: Alpine Linux

Kernel: piCore’s 6.x kernel

Packages: apk

Hardware: Raspberry Pi 400

This confirms Alpine is running entirely on the piCore kernel.

Conclusion
Running Alpine inside piCore on the Raspberry Pi 400 is a clean and effective way to get a full Linux userland without sacrificing piCore’s minimalism. It’s ideal for development and experimentation. Just note that container runtimes like Podman/Docker won’t work due to kernel limitations.

Code: [Select]
root@box:/# date
Fri Jan 23 20:34:53 UTC 2026
root@box:/# fastfetch
       .hddddddddddddddddddddddh.           root@box
      :dddddddddddddddddddddddddd:          --------
     /dddddddddddddddddddddddddddd/         OS: Alpine Linux 3.20.0 aarch64
    +dddddddddddddddddddddddddddddd+        Host: Raspberry Pi 400 Rev 1.0
  `sdddddddddddddddddddddddddddddddds`      Kernel: Linux 6.12.25-piCore-v8
 `ydddddddddddd++hdddddddddddddddddddy`     Uptime: 9 hours, 32 mins
.hddddddddddd+`  `+ddddh:-sdddddddddddh.    Packages: 74 (apk)
hdddddddddd+`      `+y:    .sddddddddddh    Shell: sh
ddddddddh+`   `//`   `.`     -sddddddddd    Display (    EZCAP28X): 1920x1080 @z
ddddddh+`   `/hddh/`   `:s-    -sddddddd    Terminal: sudo
ddddh+`   `/+/dddddh/`   `+s-    -sddddd    CPU: ARM CPU (4) @ 1.80 GHz
ddd+`   `/o` :dddddddh/`   `oy-    .yddd    Memory: 1.24 GiB / 3.71 GiB (33%)
hdddyo+ohddyosdddddddddho+oydddy++ohdddh    Swap: 0 B / 918.54 MiB (0%)
.hddddddddddddddddddddddddddddddddddddh.    Local IP (eth0): 192.168.1.194/24 *
 `yddddddddddddddddddddddddddddddddddy`     Locale: C
  `sdddddddddddddddddddddddddddddddds`
    +dddddddddddddddddddddddddddddd+        ████████████████████████
     /dddddddddddddddddddddddddddd/         ████████████████████████
      :dddddddddddddddddddddddddd:
       .hddddddddddddddddddddddh.
root@box:/#


Title: Re: Running Alpine Linux Inside piCore on Raspberry Pi 400 (Chroot Method)
Post by: patrikg on January 23, 2026, 03:46:17 PM
I'm glad you're very committed to Tiny Core and PiCore, but it would be much better if you instead of posting messages here, you can submit your suggestions and examples of using TinyCore and PiCore by posting them on our wiki (https://wiki.tinycorelinux.net/) instead.
Title: Re: Running Alpine Linux Inside piCore on Raspberry Pi 400 (Chroot Method)
Post by: geev03 on January 24, 2026, 07:28:44 AM
I'm glad you're very committed to Tiny Core and PiCore, but it would be much better if you instead of posting messages here, you can submit your suggestions and examples of using TinyCore and PiCore by posting them on our wiki (https://wiki.tinycorelinux.net/) instead.
"You've followed a link to a topic that doesn't exist yet. If permissions allow, you may create it by clicking on Create this page." ,  Can't see "Create" button to click. Are Forum members allowed  to create page there?
Title: Re: Running Alpine Linux Inside piCore on Raspberry Pi 400 (Chroot Method)
Post by: patrikg on January 24, 2026, 07:40:11 AM
You must log in at the top right of the wiki page, before creating new page.
(https://forum.tinycorelinux.net/index.php?action=dlattach;topic=27980.0;attach=7185)
Title: Re: Running Alpine Linux Inside piCore on Raspberry Pi 400 (Chroot Method)
Post by: Rich on January 24, 2026, 08:27:34 AM
Hi geev03
Try again. You've been promoted to Wiki Author.