Raspberry Pi desktop on i386

Copyright © 2024 J. M. Spivey
Jump to navigation Jump to search

These instructions create a minimal Debian installation on an x86 machine, with the Rasperry Pi desktop layered on top. It's probably most comfortable to use a wired network connection until you get WiFi properly configured.

1. Make a minimal Debian installation, unselecting the option to install a desktop environment. (I'm not clear why there are separate toggles for Desktop and under it for Gnome, but I unselected both. It's convenient on laptops to use the netinst + non-free firmware installer,

https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/i386/iso-cd

2. After booting put the following line in /etc/apt/source.list.d/raspi.list:

deb http://archive.raspberrypi.org/debian/ bullseye main

Also download and install the signing key for apt. I'll use apt-key for now, but we all know that's deprecated.

$ wget https://archive.raspberrypi.org/debian/raspberrypi.gpg.key
$ sudo apt-key add raspberrypi.gpg.key

3. Now do sudo apt-get update and then

$ sudo apt-get install raspberrypi-ui-mods raspberrypi-net-mods

4. To get the networking widget on the top bar working, you need to do at least some of the following (to be verified with another installation session):

  • Make sure that /etc/network/interfaces contains the following (and /etc/network/interfaces.d is an empty directory).
# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
It seems a file interfaces.new is created by someone (who?) with exactly this content, ready to be moved into the right place.
  • Make sure that /etc/wpa_supplicant/wpa_supplicant.conf contains the following. (I missed the group=netdev at first.)
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=GB

network={
	ssid="Mikronella"
	psk="<redacted>"
}
(Probs you can leave out the network= stanza and add it via the interface later.)
  • Make sure that network-manager is not installed.
  • Make sure that the init script networking is disabled, and dhcpcd is enabled.
$ sudo systemctl disable networking
$ sudo systemctl enable dhcpcd
(The networking script brings up the network at boot time. (Is it the same as the option in raspi-config?))

5. Reboot and all should be sweet.