# refugiOS: an offline portable operating system you prepare before the emergency

> refugiOS is a portable operating system that boots from a USB stick and runs entirely without a network, carrying offline Wikipedia, offline maps, a local AI model, file encryption and survival guides. It is at its first beta, the base image is deliberately light and is configured at home with internet access, and the whole point of the design is that nothing runs on the host machine.

**Ganso/refugiOS** — refugiOS es un sistema operativo portátil diseñado para situaciones de emergencia, falta de conectividad a Internet o necesidad extrema de privacidad

- Repository: https://github.com/Ganso/refugiOS
- Stars: 629 · Forks: 52
- Language: Python
- License: AGPL-3.0
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/ganso-refugios

## A system that never installs anything on the host

refugiOS is a portable operating system designed for emergency situations, for moments when there is no internet connectivity, or when a strong privacy requirement exists. The README is emphatic about what it is not, and that emphasis is the product definition: refugiOS is not a Linux distribution in the usual sense. It is not installed on your hard disk and it does not replace your operating system. It is a portable system that boots from a USB stick and works completely on its own, installing nothing on the host computer, and it needs a USB of 16 GB or more.

What it carries is the substance of the idea. It boots on any PC or a Raspberry Pi, and it brings full Wikipedia, offline maps of the whole world, a local private AI, encryption of personal files, and survival guides, all of it working without depending on any server or cloud. The summary the README gives is that you prepare it today at home and use it when there is no internet.

The topic list makes the audience clear as well. The tags are digital-resilience, digital-resistance, emergency, emergency-preparedness, kiwix, live-usb, offline, offline-ai, offline-first, portable-os, prepper, prepper-tools, raspberry-pi, survival and wikipedia-offline. Kiwix is the mechanism behind the offline encyclopedia, and the offline-ai tag points at a local model rather than a hosted one.

The badges describe the same shape. The status badge says development, the version badge says 0.26, the paradigm badge says offline first, the AI badge says local through Llamafile, and there is a Raspberry Pi certification badge. The project is written in Python, is licensed AGPL-3.0, and its repository is not archived, with the last push on 2026-09-12 and no GitHub releases at all.

## Beta, and the README says what that means

The project carries a warning at the top of the README that is worth reading before anything else. refugiOS is currently in its first beta version. It is an actively developed project and there is still a way to go, with bug fixes and the detailed features in the roadmap still to be implemented.

That statement shapes how the rest of the documentation should be read. The quick start is a procedure for a working system, but the procedure is a version 0.26 procedure, and the images themselves carry a date, with the last update on 2026-09-10 for version 0.26. The README goes further and tells you what to do with an older download: if you downloaded an image from before that date, replace it, so that you have all the fixes and graphics acceleration support.

That is an unusual instruction to ship in a getting started guide, and it is the right one. A portable image distributed as a file is not pulled by a package manager, so a user who found the download a year ago has no mechanism that would ever tell them they are running something old. The alternative, a versioned image per release, would multiply a multi-gigabyte download for every patch, which is the trade the project has chosen not to make.

The repository layout suggests how the work is organised. There is install.sh, which the desktop assistant ultimately runs, install.py, a build_all.sh for producing images, an i18n.py for translations, and directories for scripts/, tests/, web/ and doc/. There is a CHANGELOG.md, a CONTRIBUTING.md and an AGENTS.md, and the documentation lives in doc/ with a vision and user experience document, a media selection guide, and an English README alongside the Spanish original.

## A light base image, and the argument for it

The distribution model is the most interesting decision in the project, and the README explains it in a note of its own.

What is distributed is a base image, in Spanish and English, at 2.9 GB compressed and 16 GB uncompressed. The reason a fully configured image is not offered is stated directly: offering a ready image with all the possible contents, complete Wikipedia with images, several local AI models, cartography of the whole world and the rest, would require a download of more than 150 GB. So a lightweight base image is shipped instead, and the user configures it in a controlled environment, not an emergency one, with a good internet connection. The stated benefit is that at the moment of a real emergency the device holds exactly the information and resources you need.

That is a good argument, and it is also a real operational commitment. The configuration step is not optional and it is not quick, because the assistant downloads and installs all the content according to the capacity of your USB stick. The README marks the point as important: the whole initial installation, including running the assistant, has to be done in a controlled environment with an internet connection before an emergency happens. Only after the steps are finished and the system has been checked does the device operate fully offline.

The size of the medium also matters to the system, since the assistant scales the content to the capacity of the stick. The README says a USB of at least 16 GB is needed and that the system partition expands automatically to the full size of the USB on the first boot.

There is also guidance on what to buy, because the choice of physical medium conditions performance and durability. The README links a media selection and installation guide for that, and the options it discusses are a flash drive, an SSD or an adapter.

## Verify the download before you flash it

The README spends an unusual amount of space on one operational detail, and the detail is justified.

The image is several gigabytes, and on an unstable connection the file can arrive incomplete with the only symptom being a USB stick that does not boot. The instruction is to download SHA256SUMS.txt into the same folder as the zip and check the sum before flashing. On Linux that is sha256sum with the ignore-missing and check flags against the sums file, and on macOS the equivalent is shasum with the 256 algorithm, the ignore-missing flag and the check flag. On Windows, from PowerShell, it is Get-FileHash with the SHA256 algorithm against the zip, compared with the matching line in the file, which should report OK or match character for character. If it does not, the zip is downloaded again.

This is the kind of step that gets skipped, and it is exactly the step that turns a half gigabyte of lost bandwidth into a working device. The failure mode it guards against is also worth naming precisely, because a boot failure on a freshly written stick looks like a hardware problem and sends people looking at the wrong thing.

The download is served from a project host rather than from the repository itself, with the Spanish and English images and the checksum file all published from the same place, which is why the README asks you to keep them in the same folder.

## Flashing and booting, in three different ways

Writing the image is standard, and the README covers each platform.

On Linux the image is written with dd, and the command carries a warning comment to check with lsblk which device is the USB before you run it.

```bash
# ¡Verifica con lsblk que /dev/sdX es tu USB!
sudo dd if=refugios-base-16G-es.img of=/dev/sdX bs=4M status=progress conv=fsync
```

On macOS the same tool is used with the macOS device naming, and balenaEtcher is offered as the alternative there.

```bash
sudo dd if=refugios-base-16G-es.img of=/dev/diskN bs=4M
```

On Windows the README points to Rufus or balenaEtcher, and in Rufus two settings matter: the partition scheme should be GPT and the target system should be UEFI.

Booting is then a matter of plugging the stick into a machine and choosing it as the boot device, with F12, F8 or Esc named as the keys to press during startup. The system comes up automatically into an XFCE desktop with a user called refugios and no password.

The no-password detail is a consequence of the use case rather than an oversight, since the point of the device is to be usable by the person carrying it in a situation where typing a password is friction. It also means anyone with the stick has access to the data on it, which is worth pairing with the file encryption the project includes.

## Configuration is a network operation, and it is the whole setup

After the first boot you are not finished. The desktop carries an icon for completing the refugiOS installation, and the README describes what it does: you double click it, connect to the internet when it asks, and the assistant takes over downloading and installing all the content according to the capacity of your USB stick.

The same thing can be started from a terminal, which is the command to use when you are scripting a build of several sticks.

```bash
curl -fsSL https://raw.githubusercontent.com/Ganso/refugiOS/main/install.sh | bash
```

There is an alternative route for hardware that cannot boot the prepared image. The README describes mounting refugiOS over an Xubuntu live USB, creating a persistent live stick with Rufus and then installing refugiOS on top of it. The stated advantages of that route are compatibility with older hardware that uses BIOS and MBR rather than UEFI, and a dual scheme with an immutable system layer plus a persistence layer on top.

That is a meaningful fallback, because the UEFI and GPT requirement in the Rufus instructions excludes a lot of older machines, and a preparedness tool that does not boot on a ten year old laptop is a preparedness tool with a hole in it.

The README is also honest about the risk profile of the whole approach. Since the device is only as good as the configuration you did beforehand, the emphasis on doing it in a controlled environment, before an emergency, and verifying that it works, appears in every part of the guide rather than as a closing footnote.

## What to weigh before you rely on it

Three things deserve a decision before you build one of these.

The first is the beta. The project says so itself, and the practical consequence is that the first boot of a freshly configured stick should be tested end to end, including the local AI and the encrypted file store, rather than assumed. A preparedness tool that has not been tested is a hope rather than a tool.

The second is the licensing and the download model. The project is AGPL-3.0, and the images are large files served from a project host rather than built by you. For a personal device that is a reasonable trade. For an organisation that wants to image dozens of sticks from an audited source, the build scripts in the repository, build_all.sh and install.py, are the part to look at first.

The third is whether the whole operating system is what you need. The narrower alternative is a Kiwix stick, which is the same offline Wikipedia and the same maps without an operating system, and it is a smaller thing to prepare and maintain. The difference in approach is scope rather than quality: refugiOS is a complete offline environment with a local AI model, encryption and survival guides, while a Kiwix stick is an offline library you mount. The reason to pick refugiOS over that is the combination, and specifically the local AI and the encryption, and the reason to pick the simpler option is that fewer moving parts fail fewer ways.

On maintenance, the signals are mixed. The last push was on 2026-09-12, the repository is not archived, and there are no GitHub releases, so the images are dated artefacts rather than tagged versions, and the changelog in the repository is where the history lives.

## Conclusion

refugiOS fits a household or a local group that wants an offline copy of reference material, maps and a local model on a stick that boots anywhere, and it does not fit someone who needs a supported product or who only wants offline documents. Before relying on it, complete the full configuration on a good connection, check the SHA256 sum of the download, and boot the stick on the oldest machine you have to be sure the UEFI path works for you.

## FAQ

### What is refugiOS and what does it do?

It is a portable operating system for emergency situations and for moments without internet connectivity. It boots from a USB stick of at least 16 GB on any PC or Raspberry Pi and carries offline Wikipedia, offline maps, a local private AI, file encryption and survival guides, with no dependence on any server or cloud.

### Does refugiOS install onto my computer?

No. The README is explicit that refugiOS is not a Linux distribution in the usual sense, that it is not installed on your hard disk and does not replace your operating system, and that it boots from the USB and installs nothing on the host computer.

### Why does refugiOS ship a base image instead of a complete one?

A ready image with everything, including complete Wikipedia with images, several local AI models and cartography of the whole world, would be a download of more than 150 GB. The base image is 2.9 GB compressed, and you configure it yourself in a controlled environment with a good internet connection, so the device ends up holding what you actually need.

### How do I verify the refugiOS image before flashing it?

Download SHA256SUMS.txt into the same folder as the zip and check the sum with sha256sum or shasum on Linux and macOS, or with Get-FileHash in PowerShell on Windows, and compare the result with the matching line. The README warns that an incomplete download has the symptom of a USB stick that does not boot.

### When does the refugiOS setup need an internet connection?

During the initial configuration only. The complete installation, including the assistant that downloads and installs the content according to your USB capacity, has to be done in a controlled environment with a connection before an emergency, and once that is finished the device operates fully offline.

## Sources

- [Ganso/refugiOS on GitHub](https://github.com/Ganso/refugiOS)
- [Issues](https://github.com/Ganso/refugiOS/issues)
- [License: AGPL-3.0](https://github.com/Ganso/refugiOS/blob/main/LICENSE)
- [README](https://github.com/Ganso/refugiOS/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/ganso-refugios
