Skip to content
pearOS-archlinuxPublic

About

pearOS ISO builder source code

Resources

Code of conduct

Contributing

Security policy

Stars

399 stars

Watchers

13 watching

Forks



pearOS-arch-base πŸ“Œ

It is pearOS, but with Arch Base. Yes! It uses vanilla arch, less bugs, easier, better etc.

Why? πŸ“Œ

I had enough with Debian-based distros. pearOS with an Arch base solves some of the big problems with pearOS, for example:

"This requires you to reinstall with every new release"

"sudo apt upgrade would/will destroy your installation"

Not anymore. With Arch, there's no more base-hopping. Now, with Arch, the system is now Rolling Release, as it should be :>

You can do now sudo pacman -Syu and you will stil have the pearOS branding.

Ok... How do I build it? πŸ“Œ

Make sure you satisfy the dependencies in the section below. After that, run sudo ./build-binary and pray wait.

Note: The build script must be run as root (using sudo) since it needs to create chroot environments and install packages.

Dependencies: πŸ“Œ

Required packages:

# Core build tools
sudo pacman -S arch-install-scripts    # Provides pacstrap and arch-chroot
sudo pacman -S mtools                  # Provides mcopy, mmd for FAT filesystem operations
sudo pacman -S squashfs-tools          # Provides mksquashfs for creating squashfs images
sudo pacman -S xorriso                 # Creates the final ISO image
sudo pacman -S e2fsprogs               # Provides mkfs.ext4 and tune2fs for filesystem creation
sudo pacman -S git                     # Required for cloning pearOS-installer during build
sudo pacman -S pv                      # Required to see progress bars

Optional packages:

# For EROFS image type support (if used in profiledef.sh)
sudo pacman -S erofs-utils             # Provides mkfs.erofs

# For GPG signing of the rootfs image (optional)
# GPG is usually pre-installed, but ensure it's available:
sudo pacman -S gnupg

Quick install command:

sudo pacman -S arch-install-scripts mtools squashfs-tools xorriso e2fsprogs git pv

Verify dependencies:

To check if all required commands are available, you can use:

command -v pacstrap arch-chroot mksquashfs xorriso mkfs.ext4 tune2fs git pv

If any command(s) are missing, install the corresponding package listed above.

ko-fi

Updating Ploader (bootloader) πŸ“Œ

The live ISO boots via Ploader (custom rEFInd fork, source at pearOS-archlinux/pearos-bootloader) on UEFI, with syslinux kept as a BIOS/non-EFI fallback. build-binary does not compile Ploader itself β€” it just picks up prebuilt artifacts from pear/efiboot/ploader/. To update the bootloader:

git clone https://github.com/pearOS-archlinux/pearos-bootloader.git
cd pearos-bootloader
make

This needs the gnu-efi toolchain (sudo pacman -S gnu-efi on Arch). Once built, copy the artifacts into this repo:

cp pearos-bootloader/ploader/ploader_x64.efi   pear/efiboot/ploader/ploader_x64.efi
cp -r pearos-bootloader/theme                  pear/efiboot/ploader/theme

pear/efiboot/ploader/ also holds two templates that build-binary sed-substitutes (%ARCHISO_LABEL%/%INSTALL_DIR%/%ARCH%) at build time and does not need regenerating unless boot options change:

  • ploader.conf β€” sets silent_menu false so the picker is always shown on the live ISO (Ploader defaults to silent/seamless boot otherwise)
  • ploader_linux.conf β€” the kernel auto-boot stanzas (FOSS/NVIDIA Γ— Plymouth/no-Plymouth), Ploader's equivalent of a systemd-boot loader entry

build-binary validates all of the above exist before building and errors out clearly if ploader_x64.efi is missing.

Boot Status sequence πŸ“Œ

Result: booted, installed pearOS and booted it βœ…

Success score: 100/100

Test Score
Boot 100/100
UI sanity 100/100
Installable 100/100
Usability 100/100

Usability checks:

Check Result
login + desktop βœ…
UI sanity (installed) βœ… re-baselined by hand: the installed desktop is Light, the old reference was the dark live desktop (14% / 26% against it)
Konsole opens βœ…
fastfetch shows pearOS βœ…
sudo pacman -Syyu --noconfirm βœ…
Seafari opens βœ…
Calculator opens βœ…
Notes opens βœ…
Finder opens βœ…
Kate opens βœ…

One screenshot every 10s.

  1. 10s β€” boot 1
  2. 20s β€” boot 2
  3. 30s β€” boot 3
  4. 40s β€” boot 4
  5. 50s β€” boot 5
  6. 60s β€” boot 6
  7. 70s β€” boot 7
  8. 80s β€” boot 8
  9. 90s β€” boot 9
  10. 100s β€” boot 10
  11. 110s β€” boot 11
  12. 120s β€” boot 12
  13. 130s β€” desktop ready, then clicked Install pearOS in Welcome β€” boot 13
  14. 140s β€” pearOS installer loading β€” boot 14
  15. 150s β€” Language screen, then selected English β€” boot 15
  16. 160s β€” Language screen, then clicked Next β€” boot 16
  17. 170s β€” Recovery screen, then selected Install pearOS NiceC0re (offline installer) β€” boot 17
  18. 180s β€” Recovery screen, then clicked Continue β€” boot 18
  19. 190s β€” boot 19
  20. 200s β€” boot 20
  21. 210s β€” boot 21
  22. 220s β€” boot 22
  23. 230s β€” boot 23
  24. 240s β€” Calamares β€” boot 24
  25. 250s β€” Calamares: Welcome, clicked Next β€” boot 25
  26. 260s β€” Calamares: Location, clicked Next β€” boot 26
  27. 270s β€” Calamares: Keyboard, clicked Next β€” boot 27
  28. 280s β€” Calamares: Partitions, selected Erase disk β€” boot 28
  29. 290s β€” Calamares: Partitions, clicked Next β€” boot 29
  30. 300s β€” Calamares: Summary, clicked Install β€” boot 30
  31. 310s β€” Calamares: installing (2 min) β€” boot 31
  32. 320s β€” Calamares: installing (4 min) β€” boot 32
  33. 330s β€” Calamares: installing (6 min) β€” boot 33
  34. 340s β€” Calamares: installation finished β€” boot 34
  35. 350s β€” Installed system: first boot β€” boot 35
  36. 360s β€” Installed system: first boot β€” boot 36
  37. 370s β€” Installed system: first boot β€” boot 37
  38. 380s β€” Installed system: first boot β€” boot 38
  39. 390s β€” Installed system: reached the login screen / desktop β€” boot 39
  40. 400s β€” First boot: language β€” boot 40
  41. 410s β€” First boot: keyboard β€” boot 41
  42. 420s β€” First boot: time zone β€” boot 42
  43. 430s β€” First boot: create account β€” boot 43
  44. 440s β€” First boot: account filled in β€” boot 44
  45. 450s β€” First boot: look β€” boot 45
  46. 460s β€” First boot: terms β€” boot 46
  47. 470s β€” First boot: applying settings β€” boot 47
  48. 480s β€” Login screen β€” boot 48
  49. 490s β€” Login screen β€” boot 49
  50. 500s β€” Login screen β€” boot 50
  51. 510s β€” Login screen β€” boot 51
  52. 520s β€” Login screen β€” boot 52
  53. 530s β€” Login screen β€” boot 53
  54. 540s β€” Logging in β€” boot 54
  55. 550s β€” Logging in β€” boot 55
  56. 560s β€” Logging in β€” boot 56
  57. 570s β€” Logging in β€” boot 57
  58. 580s β€” Logging in β€” boot 58
  59. 590s β€” Logging in β€” boot 59
  60. 600s β€” Logging in β€” boot 60
  61. 610s β€” Installed system: desktop β€” boot 61
  62. 620s β€” Konsole opened β€” boot 62
  63. 630s β€” Konsole: fastfetch β€” boot 63
  64. 640s β€” Konsole: pacman -Syyu succeeded β€” boot 64
  65. 650s β€” App: Seafari opened β€” boot 65
  66. 660s β€” App: Calculator opened β€” boot 66
  67. 670s β€” App: Notes opened β€” boot 67
  68. 680s β€” App: Finder opened β€” boot 68
  69. 690s β€” App: Kate opened β€” boot 69

UI Sanity Test πŸ“Œ

Result: menu bar + dock look as expected βœ…
Compared against the reference tests/ui-reference/desktop.png (% of pixels within Β±16 per channel; pass β‰₯ 90%).

Area Similarity
Top bar (first 30 px) 96.9%
Dock (last 100 px) 100.0%

Current frame: desktop

Star History

Star History Chart

Copyright and Licensing πŸ“Œ

This project is released under the GNU Pubilc License v3 or later.

Copyright: Alexandru Balan @ Pear Software and Services S.R.L. based in Romania, Dacia Boulevard 133, floor D, Sector 2, Bucharest CIF: 50888207

About

pearOS ISO builder source code

Resources

Code of conduct

Contributing

Security policy

Stars

399 stars

Watchers

13 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages