Debian 12 – James Batchelor https://james-batchelor.com Useful I.T & VoIP Ramblings Sat, 19 Jul 2025 14:23:26 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.5 https://james-batchelor.com/wp-content/uploads/2025/05/cropped-cropped-logo-jb-202505-32x32.png Debian 12 – James Batchelor https://james-batchelor.com 32 32 Asus X205TA – Lengthen Laptop Life with Linux https://james-batchelor.com/index.php/2025/07/19/asus-x205ta-lengthen-laptop-life-with-linux/ Sat, 19 Jul 2025 14:23:26 +0000 https://james-batchelor.com/?p=1039 Continue reading "Asus X205TA – Lengthen Laptop Life with Linux"]]> It’s strange to think that I’ve had this laptop around for nearly 10 years. Putting those years in context of my technical knowledge, it seems a lifetime ago.

I owe a lot to this little, £130, underpowered (even at the time) machine. Sat in my car refining and sending off my CV for numerous jobs whilst waiting for my hateful call centre job to begin helped me break into a technical role.

The end of Windows 10 support in October 2025 could be considered a full stop on this laptop’s usefulness, however Windows claimed this as a victim long ago. The 32GB eMMC storage was entirely consumed by just the operating system and its pending updates, which relegated this system to version 18.09.

One point of the X205TA that really impressed was the battery life, with an OS estimated 10 hours at full charge it was something 2016 me had never seen before.

The thought occurred that I’d like a lounge terminal, something with a proper keyboard and screen that I could use to SSH into other machines, with a web browser for reference.

Could I breathe new life into the X205TA with the introduction of a Linux Desktop?

Specifications

All that is required is a terminal and a web browser.

This could be achieved with a simple window manager but due to the laptop’s svelte specs (Intel Atom Z3735F, 2GB RAM, 32GB eMMC storage), I don’t think a barebones setup is going to give much of a performance boost.

Debian is my preference, naturally the system will be built on this. Luckily, and something that needs consideration these days, is this is a 32-bit processor.

Secure boot, enabled by default, will need to be disabled in BIOS in order to install a Linux system.

Desktop Environments

Debian’s wiki has a page for the X205TA , but the referenced kernel versions suggest this may not be the most up to date.

Attempting a fully fledged environment in the first instance…

KDE Plasma

For this I opted for a minimal install of Debian 12, followed by a minimal install of KDE Plasma on first login:

apt install kde-plasma-desktop plasma-nm

This give the KDE desktop, with a couple of issues. Firstly and immediately obvious, despite WiFi working for the net-install ISO and on first boot, post KDE install the WiFi would not connect to my network.

This was resolved by commenting out ALL of the /etc/network/interfaces file, then, through the GUI, forcing the wireless to connect over 2.4Ghz to my SSID that is active of both 2.4 and 5Ghz.

Following this, audio was not detected, not a dealbreaker but something worth noting.

The touchpad controls (tap to click) though not enabled, was easily configured. However, its was quite sluggish, with RAM at 1.4GB at idle, and a browser (Firefox or Chromium) exacerbated this.

Next was a renowned lightweight desktop…

LXDE

Similar to KDE, install via a net-install ISO went seamlessly, but on first boot to the desktop no signs of WiFi or networking was to be seen.

This could of prompted a troubleshooting session, but the lack of touchpad customisation was to be a dealbreaker.

On to the next…

XFCE

Like LXDE, this has the same goal of being a lightweight desktop, but seems to be under more active and continuous development.

Installation was via the same net-install ISO, but on first boot, everything just worked!

With all installation, Debian advised that propriety firmware was recommended prior to installation, yet I’m not seeing any detriment to skipping this step.

RAM usage at idle sits at ~800MB, yet I feel offers the same customisation offered in KDE at 1.4GB, especially with tap to click on the trackpad.

With this level of simplicity of install, XFCE is the one for me.

Summary

Also offered with XFCE are the same comforts of a modern UI, such battery life status and estimates. It’s amazing that this cheap is still able to offer 9 hours of battery life at 10 years old, this was after a charge cycle and booting the system off-grid.

It’s over optimistic to think that this could be a serious workhorse, now or even back then. But to have a simple terminal machine to hand when lounging on the sofa as a more convenient option to a frustrating mobile experience still gives this little cheap laptop some value.

]]>
Debian 12: KVM Guest using Bridged Network https://james-batchelor.com/index.php/2024/08/19/debian-12-kvm-guest-using-bridged-network/ Mon, 19 Aug 2024 16:43:37 +0000 https://james-batchelor.com/?p=951 Continue reading "Debian 12: KVM Guest using Bridged Network"]]> I’ve been playing with KVM on Debian 12 as a candidate for moving away from VMware as a hypervisor on my home server. I’ve been testing by using Debian 12 as VM in ESXI set with hardware CPU/MMU enabled, and virtualisaion passthrough enabled.

I’d like the KVM guests to access the network in bridge mode of the host for direct access to the network. However I faced the following issue:

  • KVM host can ping gateway and internet.
  • KVM host can ping the guest.
  • Guest can ping the host.
  • Guest cannot ping gateway or anything outside of the host.
  • Guest is showing in router ARP table, with its IP address and own MAC

This one got me for more time than I wish to admit, and seems to have caught others out along the way, this is how I finally solved it…

This test setup has the following parameters:

  • Network: 10.0.4.0/24
  • Internet Gateway: 10.0.4.1
  • KVM Host: 10.0.4.100
  • GuestL 10.0.4.101

Install KVM and Cockpit

Install KVM and Cockpit (For easy access and testing of a guest):

apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst cockpit cockpit-machines

For Debain 12, Cockpit blocks login from root, remove it from the disallowed-users file:

nano /etc/cockpit/disallowed-users

Restart Cockpit to take changes:

systemctl restart cockpit

Cockpit’s web interface can be accessed via port 9090 of the host IP.

https://10.0.4.100:9090/

Host Network

Now bridge-utils is installed, the bridge can be configured on the host:

nano /etc/network/interfaces

Remove / comment out the physical interface config and add the new bridge br0:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens192
iface ens192 inet manual
        #address 10.0.4.100/24
        #gateway 10.0.4.1
        # dns-* options are implemented by the resolvconf package, if installed
        #dns-nameservers 10.0.4.1
        #dns-search debian-kvm.james-batchelor.local

auto br0
iface br0 inet static
        address 10.0.4.100
        netmask 255.255.255.0
        network 10.0.4.0
        broadcast 10.0.4.255
        gateway 10.0.4.1
        bridge_ports ens192
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
        dns-nameservers 1.1.1.1
        hwaddress ether 00:0c:29:3a:bc:72
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward

NOTE: Add the hwaddress line and use the mac address of the physical interface, otherwise you’ll loose connection to the host when networking is restarted.
NOTE: For my solution, IP forwarding needs to be enabled.

Restart networking service, cross your fingers:

systemctl restart networking

Guest setup

Create folders for the guests:

mkdir /vm
mkdir /vm/iso
mkdir /vm/datastore

This issue got me for a while, so for testing I refined the process down to using a System Rescue cd for quick VM spin ups. Download the ISO:

wget https://fastly-cdn.system-rescue.org/releases/11.01/systemrescue-11.01-amd64.iso -P /vm/iso/

Now create the VM from the CLI:

virt-install --name vm-test --ram=8192 --vcpu=4 --cpu host-passthrough --disk path=/vm/datastore/vm-test,size=8 --cdrom /vm/iso/systemrescue-11.01-amd64.iso --os-variant linux2022 --network bridge=br0,model=virtio --graphics vnc

Now you can move to Cockpit to view and configure the guest from its console.

Guest Networking

Lets take a second to think about whats happening when a guest pings the network; It has to leave through the host in order to get to the gateway, as the ARP table has has the correct details for the guest (including guest’s actual MAC), the ping reply will be send to the guest but needs to go through the host first.

Therefore a static route is needed to steer traffic for the guest through the host. On the router, create a static route:

Via Cockpit, access the console of the System Rescue OS, enter the network config via:

nmtui

Navigate to edit a connection, and select the Wired Ethernet Connection, set IPv4 configuration to Manual and add the details:

  • IP address: IP address you set as the destination of the static route.
  • Gateway: IP address of host.

Select OK at the bottom of the screen to confirm config, go back to the main menu.

TIP: Navigate to Activate Connections and toggle the interface off and back on, as otherwise there is a lag before the config is applied to the network.

Test with pings from the guest and to it from other machines, they should now respond.

]]>