Documentation FAQ

Frequently asked questions about using ProteanOS.

Frequently Asked Questions

What is ProteanOS?

ProteanOS is a free, open-source embedded operating system aimed at portability across embedded hardware platforms. The project focuses on clean packaging, reproducible builds, and a toolchain that does not get in your way. It is not a desktop distribution rebuilt small - it is built from the ground up for embedded use cases.

Is ProteanOS free to use?

Yes. ProteanOS is distributed under free software licenses. You can use, study, modify, and distribute it. Individual packages may carry different licenses (GPL, LGPL, MIT, BSD) depending on the upstream source - the copyright file in each source package lists the applicable license.

Where can I get support?

The proteanos-dev mailing list is the primary support channel. Post with enough context - your hardware, what you were trying to do, and what went wrong - and the archives are also worth searching before posting. Most common problems have come up before.

Is ProteanOS still actively maintained?

The project is active. Check the mailing list archives and git repositories for recent activity. The announce list carries release notifications when new versions or toolchain updates are available.

Installation Questions

Frequently Asked Questions

What are the host system requirements for building?

A Linux development host (or a reasonably configured Linux VM) with GCC, make, and standard build utilities. ProKit manages the target sysroot and cross-compiler - you do not need to set up a cross-toolchain manually. The install guide has the specific package list for common distributions.

How do I update installed packages?

Use opkg on the target device. Run opkg update to refresh the package lists, then opkg upgrade to update all installed packages, or opkg install <package> to update a specific one. Ensure your device has network access to the configured feed URLs.

The build fails with missing dependency errors. What should I check?

First, verify your host system has all the required build tools listed in the install guide. Second, check that Build-Depends in your package control file is accurate and that the required packages are available in the configured repositories. Running prokit build --verbose will show the dependency resolution step in detail.

Platform Support

Frequently Asked Questions

Which architectures does ProteanOS support?

ARM Cortex-A8 is the primary supported architecture. Support status for other architectures depends on available hardware and contributor effort - check the mailing list and git repositories for current porting status. Adding support for a new architecture is documented in the porting guide.

Can I port ProteanOS to my device?

Yes. The porting guide documents the process: bootloader setup, kernel configuration, and BSP development. You need familiarity with your target hardware, access to datasheet and reference manual, and a working cross-toolchain. The most common sticking points are bootloader configuration and kernel driver support for platform-specific peripherals.

What bootloaders are supported?

U-Boot is the most common choice for ARM targets. The specifics depend on your hardware - some platforms use vendor-supplied bootloaders that have U-Boot underneath. The porting guide covers U-Boot integration. If your hardware uses a different bootloader, the principles are the same but details will differ.

Troubleshooting

Frequently Asked Questions

The system boots to a kernel panic. What should I check?

Serial console output is essential here - attach to UART before booting. Kernel panics at startup are almost always one of: rootfs not found (wrong root= parameter or missing driver), init not found (wrong rootfs path or missing busybox), or driver crash during init. The panic message usually identifies which. Verify your kernel command line, rootfs mount path, and that the kernel has the drivers it needs built in (not as modules, for early boot).

opkg install fails with dependency errors. How do I resolve them?

Run opkg update first to refresh package lists. If the dependency is missing from the feed, it may not be built for your architecture yet. Check whether the package is available with opkg list. If the package exists but shows a version conflict, you may have packages from different feed versions mixed on the system - this is usually resolved by a clean opkg upgrade.

How do I report a bug?

Post to the proteanos-dev mailing list. Include the affected component and version, exact steps to reproduce, expected behaviour, actual behaviour, and relevant log output or error messages. Serial console logs are often the most useful for hardware-level issues. Patches that fix the bug are always welcome alongside bug reports.

More Help

If your question isn't answered here, you can: