Skip to main content

Frequently asked questions

Does corefs handle dependencies?

Not yet. A profile lists every package the system needs, including what those packages need themselves.

Can I upgrade or remove packages?

Not yet. corefs already writes an install record for every package, its version and its files, so upgrades and removal can be added without guessing what's installed.

Is the package index signed?

Not yet. corefs checks every package's size and SHA-256 against the index, which catches corrupted downloads, but not a mirror that changes the index itself. Signing is planned.

Why is the package index plain text instead of JSON?

A package manager running inside Core Linux may have nothing but a shell to work with, and a line-per-package format needs nothing more than a read loop. See The package index.

Why is corefs one big bash script?

Bash has no import. Sourcing a library at run time means it has to be installed next to the script, so corefs is assembled at build time instead: make runs m4 over corefs.in and a shared common.m4, and writes out one self-contained script.

m4 -P -I. -D__VERSION__=0.1 corefs.in > corefs

-P makes m4's own macros start with m4_, so ordinary shell words like format or include aren't swallowed. The generated script is never edited by hand.

Which disks can Core Linux boot from?

The initramfs includes drivers for virtio, NVMe and SATA disks with an ext4 root. For anything else, add the modules to /etc/mkinitfs/modules and rerun mkinitfs. See Boot process.