DebianWRT - Debian Wiki (2023)

The goal of the DebianWRT project is to support running Debian on access points, such as those supported by the OpenWRT project. See the OpenWRT hardware table for a list.

These access points are an attractive target for Debian because they are increasingly powerful machines sold extremely cheaply as commodity hardware. Everyone needs an access point, so why not run Debian on it and add mipsel to your collection of architectures? OpenWRT is a fine replacement firmware for these devices, but it's not Debian, and for some of us that's reason enough to put Debian on these machines.

Currently the most common methods used to run Debian on these systems is to install OpenWRT or a similar firmware, add disk space either by USB storage or NFS, create a debian chroot by either running cdebootstrap from inside OpenWRT or debootstrap --foreign on a PC, and running Debian from this chroot. For example, instructions for the WLHDD.

A working Debian chroot can also be used as a root file system in OpenWRT, as explained in InstallingDebianOn/D-Link/DIR-825. In this approach the OpenWRT preinit mounts the chroot, calls pivot_root and runs Debian init. The resulting system is pure Debian, except for the OpenWRT kernel.

(Video) Debian dErivatives eXchange (DEX) BoF

Yet another approach to explain how to use Debian on hardware supported by OpenWRT is explained here. It provides a mipsel kernel image and a base filesystem, so even a non-advanced user can easily use it. More advanced users will find how to create a kernel and a base filesystem on their own.

We'd like to be able to just boot up the DebianInstaller and install Debian more or less as normal, with some additional step to cram the Debian system down to a usable system that can run from flash with the disk disconnected, perhaps based on a technology like flashybrid or the adsrootbuilder. In this best of all worlds scenario, you have a full Debian system when you want it, and an embedded access point when you need it, and upgrading/maintaining the access point is not a separate process from upgrading the Debian system

The first tricky part is that for nearly all the access points in the TableOfHardware, the wireless driver is a binary kernel module, which needs a 2.4 kernel. OpenWRT's kernel includes a shim module to allow this binary module, built for an old 2.4.2x kernel, to run with 2.4.31. Plus lots of other patches.

Getting this kernel into Debian would be a lot of work and pretty hard. At least for the first pass, using the OpenWRT kernel seems like the easiest approach.

Various approaches could be used to install Debian using the DebianInstaller. Of course we don't really have to use d-i to install to these machines, it would only be convenient and nice for consistency if we can.


Similar to debtakeover, replace the running OpenWRT or other firmware with the files we need to boot Debian from disk. Preserve the kernel and kernel modules and use those in the installed Debian system.

It might work like this: Install OpenWRT, then add an ipkg source on a Debian mirror and, "ipkg install debian-installer", which depends on all available kernel module packages for OpenWRT and installs a DebianInstaller chroot, which is then chrooted into and the Debian installation proceeds as usual. At the end the OpenWRT system is modified to boot the installed Debian system.

Advantages of this method:

  • The access point keeps on functioning as an access point throughout the whole installation process! You can keep surfing the net while your AP installs Debian.
  • You can drive the installer from the very beginning as you're already logged into OpenWRT.
  • Debian would only need to distribute the debian-installer ipkg, which would contain only free software and could be provided as just another DebianInstaller image.

  • In the very short term, I can develop an installer for my AP without depriving the whole ?OldenBurg conference of it too... -- JoeyHess


  • Changes to OpenWRT can break the installer.
  • Really needs a firmware that uses jffs2 or another fully writiable root filesystem. Systems using RO filesystems or symlinks, etc can't be completly wiped.
  • You have to flash OpenWRT or another firmware first, so there's a two step installation process with a new system (OpenWRT) to learn in the middle.
  • OpenWRT running means more memory used by its programs. Unless they're killed. It's doubtful d-i can run on some of the lower end models anyway, so that can be a problem.
  • If OpenWRT is in flash then d-i cannot (partially?) run itself from flash, (unless it blows OpenWRT away at the beginning of the install), which means that much less ram is available for the installer.

This method will work for install on 32 mb machines, but squeezing it onto 16 mb machines would be very tough.

clean install

Put together the OpenWRT kernel and modules and tiny little system (possibly based on DebianInstaller) and create a firmware image which does nothing except go out and find the media containing the real installer, and run the installer from USB or NFS. Then the installer, still blind, has to bring up networking and ssh, and a dhcp server.

Then you connect to the access point and use network-console to complete the installation. At the end an initrd type image is generated and written to flash to boot Debian.


  • Quite a lot cleaner. If in the future the kernel issues get sorted out it could be a quite normal Debian target.
  • No dependencies on OpenWRT besides needing their kernel for now.


  • Quite different from rest of d-i.
  • Relatively difficult to get a working firmware image, and this dificulty will need to be repeated for each new access point model.
  • Have to support users flashing the firmware too, which is pretty tricky.
  • The firmware image would contain non-free and/or non-Debian kernel stuff and so could not be part of Debian.
  • DebianInstaller has to run blind until network-console comes up, which has plenty of potential for failed installs.

second-stage bootloader

Write a little bootloader that can be flashed in and that just accesses a USB storage device and boots linux from it. Solves all size issues, generally a very nice approach, but does require some rather low-level mips hacking.

chrooted system

Create an alternative Debian root in external drive and keep OpenWRT running in internal drive.

Install regular OpenWRT on internal flash (kernel + root image). Create a debian instalation in USB drive via debootstrap, create init scripts in OpenWRT to mount the USB drive, create the chroot (and mount /proc, /dev etc. inside chroot) and execute init scripts of chrooted system (an special runlevel for example).

  • Optional: mount internal flash inside chroot to access to OpenWRT files from Debian.
  • Optional: keep OpenWRT services on alternative ports (for example dropbear ssh access to OpenWRT on port 23 and OpenSSH access to Debian on port 22).
  • Optional: shutdowns from Debian require a method to trigger a clean shutdown from OpenWRT (for example a daemon on OpenWRT that receives a signal from Debian and launch shutdown on OpenWRT)


  • The access point keeps on functioning as an access point throughout the whole installation process! You can keep surfing the net while your AP installs Debian.
  • Keep OpenWRT functionally, better for maintenance/failover if USB crashes or instalation is not completed.
  • Use of specific drivers/modules/daemons/configurations from OpenWRT while keeping all Debian posibilities.


  • You have to flash OpenWRT first, so there's a two step installation process with a new system (OpenWRT) to learn in the middle.
  • The instalation of Debian chroot is a manual process (no debian installer) and there is no standard scripts to switch to chroot.
  • OpenWRT running means more memory used by its programs.

Note: this installation has been done with success in a Linksys WRT160NL.


Where did the name Debian come from? ›

Debian was first announced on August 16, 1993, by Ian Murdock, who initially called the system "the Debian Linux Release". The word "Debian" was formed as a portmanteau of the first name of his then-girlfriend (later ex-wife) Debra Lynn and his own first name.

What is the use of Debian? ›

Debian offers over 59,000 packages that support a wide range of capabilities. For example, Debian provides packages for editing documents, developing software, administering systems, connecting to networks, debugging packages, mixing sound, routing email and playing games.

What is Debootstrap used for? ›

debootstrap can be used to install Debian in a system without using an installation disk but can also be used to run a different Debian flavor in a chroot environment.

How to install Debian on a laptop? ›

How To Install Debian 10 (Buster)
  1. Steps For Installing Debian 10. Step 1: Download Debian 10 ISO file. ...
  2. Step 3: Set Up Language, Location, and Keyboard.
  3. Step 4: Configure Network.
  4. Step 5: Set Up Users and Passwords.
  5. Step 6: Partition Disks For Debian 10.
  6. Step 7: Final Configuration.
  7. Step 8: Start Up Debian 10.
Oct 14, 2019

Why Debian is the best Linux? ›

Bug-Free: Debian's standard version is highly reliable since it rigorously tests software and libraries. Because of its dependability, Debian Stable is an ideal server operating system. This is one of the grounds why many developers utilize Debian as the foundation for their derivative distributions, like Ubuntu.

Is Kali derived from Debian? ›

Kali Linux is a Debian-derived Linux distribution designed for digital forensics and penetration testing.

Does NASA use Debian? ›

Chuvala and NASA selected Debian, a system that uses Linux or the FreeBSD kernel. Debian can run on almost all personal computers.

Why is Debian most popular? ›

The Debian distribution offers the widest range of packages among other distributions. Debian's upgrade cycle is also long, which means that you can use the same version for a long time. This prevents you from installing upgrade software and rebooting your server to apply the changes frequently.

Does Google use Debian? ›

gLinux is a Debian Testing-based Linux distribution used at Google as a workstation operating system.

What is fakechroot? ›

fakechroot is a regular non-setuid program. It does not enhance a user's privileges, or decrease the system's security. It creates an environment where it's possible to use the chroot(8) command without root privileges, useful for calling apt to install packages without need for root privileges.

What installer does Debian use? ›

DebianInstaller is the official installation system for the Debian distribution since the Sarge (3.1) release.

What is the difference between Mmdebstrap and Debootstrap? ›

mmdebstrap creates a Debian chroot of SUITE into TARGET from one or more MIRRORs. It is meant as an alternative to the debootstrap tool (see section DEBOOTSTRAP). In contrast to debootstrap it uses apt to resolve dependencies and is thus able to use more than one mirror and resolve more complex dependencies.

Can you run Debian in Windows? ›

The app gives you a Debian stable command line environment running on the Windows kernel (WSL1) or Hyper-V with the new WSL2 interface depending on your Windows 10 release version. Most of the packages in Debian stable should "just work".

Can I use Debian without installing? ›

Try Debian live before installing

You can try Debian by booting a live system from a CD, DVD or USB key without installing any files to the computer.

How much RAM does Debian use? ›

The Debian project itself recommends at least 780MB of RAM and 920MB for a minimal installation. A full desktop system will need at least 1GB of RAM with 2GB recommended, and 10GB of disk space.

Why is Debian named after Toy Story? ›

I heard it was because when Bruce Perens was Debian Project Leader, he was working for Pixar around the time of the Toy Story release, and chose the naming scheme. The descriptive name for unstable has always been unstable, not "still in development".

Why are Debian releases named after Toy Story? ›

But why Toy Story code names? It turns out, at the time Debian made its first release with a code name, Debian 1.1 Buzz (yes, Buzz Lightyear), the project leader at the time (Bruce Perens) was working at Pixar. You may find the other Debian code names in A Brief History of Debian.

What is the nickname of Debian? ›

The most recent version of Debian is Debian version 12, codename "Bookworm".

What is the meaning of Debian in computer? ›

Debian GNU/Linux is a particular distribution of the Linux operating system, and numerous packages that run on it. Debian GNU/Linux is: full featured: Debian includes more than 59100 software packages at present. Users can select which packages to install; Debian provides a tool for this purpose.

Top Articles
Latest Posts
Article information

Author: Corie Satterfield

Last Updated: 28/08/2023

Views: 5549

Rating: 4.1 / 5 (42 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Corie Satterfield

Birthday: 1992-08-19

Address: 850 Benjamin Bridge, Dickinsonchester, CO 68572-0542

Phone: +26813599986666

Job: Sales Manager

Hobby: Table tennis, Soapmaking, Flower arranging, amateur radio, Rock climbing, scrapbook, Horseback riding

Introduction: My name is Corie Satterfield, I am a fancy, perfect, spotless, quaint, fantastic, funny, lucky person who loves writing and wants to share my knowledge and understanding with you.