Tag: Debian

  • StarLabs StarBook Horizon

    StarLabs StarBook Horizon

    As computer prices are skyrocketing due to the as-of-now not yet burst AI bubble, I decided to get a newer and more capacious computer, as most of what I have is old, as in last decade. I might not be able to afford one next year.

    As I’ve been delighted with the StarLite mkV, and especially with the support from the StarLabs team, I pre-ordered a StarBook Horizon, which arrived yesterday.

    After twenty-five years with Debian, which StarLabs doesn’t offer pre-installed, I did the installation myself as soon as it arrived.

    (more…)
    Fediverse Reactions
  • A tablet with Linux

    A tablet with Linux

    Something highly unusual has happened to me in the last few days.

    I have bought some Microsoft branded hardware, and I am actually delighted about it.

    As a die-hard Unix and Linux user for some forty years, that’s something.

    (more…)
  • StarLite tablet and Debian Testing

    StarLite tablet and Debian Testing

    I received my StarLite mk V Linux tablet from StarLabs systems a couple of weeks ago. It came with Ubuntu, but as a Debian user for some twenty years, my preference was for Debian, as I have on all the other computers.

    I tried with Ubuntu for a while, but even if the differences aren’t that huge, it was still a nuisance.

    My main preoccupation was that I’d lose much of the tablet-specific parts, such as the touch interface, if I abandoned the vendor supplied OS.

    Consequently, I have installed Debian Testing on the thing.

    The TL;DR is that everything works, almost out of the box.

    Installation

    My main reference for the installation was Setup Debian 12 on the Starlabs Starlite mk V by Alexandre Martin. There were several apparently important tidbits in that post.

    I had bought a Debian rescue USB key with the tablet, which is a bootable live Debian system with the bookworm netinst installer.

    The normal installation procedure went without a hitch. The installer found the Wi-Fi adapter, listed SSIDs and allowed me to enter the passphrase.

    The grub bootloader installed by Debian overwrote the fancy branded bootloader from StarLabs Systems, but with Plymouth, I have a nice rocket hurling through space during boot 🙂

    Once the basic installation of stable was done, I changed ‘sources.list’ to testing, and updated again.

    Several reboots later, I installed all the software I need, which includes the GNOME desktop.

    Everything appears to work.

    Touch interface

    It is the first time I have a Linux computer with a touch interface, so I was a bit worried that it would cause me grief.

    It didn’t.

    With GNOME under Wayland, the touch screen just worked. I did nothing.

    Touching to move the cursor, clicking, scrolling by dragging, even multitouch gestures, like using three fingers sideways to change the desktop.

    GNOME has a simple on-screen keyboard, which does its job. It is not fancy like on Android, but it works and it appears when needed.

    Alexandre, in his blog post, had to do something to get automatic screen rotation to work, but with Debian testing, it just worked.

    Other hardware

    All the usual bits, sound, Wi-Fi adapter, Bluetooth, worked out of the box.

    For accelerated graphics with OpenCL, I had to install the OpenCL driver for the integrated Intel GPU.

    StarLabs Systems also sells a pen, which works flawlessly.

    Firmware updates

    The StarLite uses coreboot for BIOS, which on Ubuntu appeared updatable through fwupd, but it doesn’t seem to be on Debian.

    External display

    While on Ubuntu, I attached the tablet to a larger monitor, in a dual monitor setup.

    Using a USB-C to DisplayPort cable works just fine, with a 4K display.

    Mozilla Firefox

    To get touch scrolling and pinch to zoom to work in Mozilla Firefox, two environment variables are needed:

    MOZ_ENABLE_WAYLAND=1
    MOZ_USE_XINPUT2=1

    You can set them wherever is best for you, as long as they’re set before you start Firefox.

    Conclusion

    This was way easier than I had anticipated.

    And, the StarLite tablet is absolutely magnificent. It has a 3K touch screen, a very nice detachable keyboard with a touchpad, two USB-C ports which both and charge or attach an external display. There’s also a micro-SD card slot, headphone plug and a micro-HDMI port which I haven’t tried yet.

    The only auxiliaries I had to get, to make this work, was a USB-C to DisplayPort cable, and a cheap USB-C hub with power delivery, so I can attach USB-A cables and have an SD card reader.

    This one single piece of computer can be a tablet, a small laptop and a nice desktop computer, all in one, and, most importantly, running the same OS and software that I have everywhere else. No more fighting with Android to do basic tasks on a tablet.

    It’s not a foreign place like Android or (for me, surprisingly) Ubuntu. It’s like home, and it’ll do everything I need.

  • Mail-in-a-box

    Mail-in-a-box

    Google has decided to shut down the old G Suite Free Edition of which I had two – one for private and family things and one for work related things. As I only really used it for mail, I’ve moved everything to Mail-in-a-box.

    Google Workspaces are €6/month per user, while I can have unlimited users on a €3/month VPS with Mail-in-a-box. Kinda hard to beat.

    I only used these Google services for email. After the Snowden revelations I moved everything else to a Nextcloud instance on a VPS. Now the email has gone too.

    Mail-in-a-box – a mail server made easy

    Setting up and running a properly configured and working mail server is not easy. I ran my own ten years ago, before I moved to Google Apps, but it was such a waste of time.

    The main culprit for the complexity is, I believe, spam.

    Most of the complications of running a mail server are about avoiding sending spam unknowingly, having others filter or block your mail as spam, or simply being inundated with it.

    Mail-in-a-box will do all the nitty-gritty of configuring a complete mail server with web-mail, contacts, calendars and a simple but functional web-based admin interface.

    Skill requirements

    You need to be able to set up a Linux server on the internet somehow, and you need to be confident with ssh and the command line.

    You do not need to be an SMTP, IMAP, POP, DKIM or DNS wizard.

    Basic setup and installation

    Mail-in-a-box is a complete solution built on Ubuntu 18. You need the right version, or Mail-in-a-box won’t run.

    I made a small VPS with Aruba, an Italian hosting provider, for €3/month, 1Gb ram and 20Gb storage, which leaves about 15Gb after installation. I could chose a preconfigured Ubuntu 18 image, which made it all the easier.

    Mail-in-a-box is a shell script you download and run as root. It’ll install all the needed packages, ask a few questions and configure everything for you. The questions are mostly the fully qualified hostname and and initial user account.

    First time I set it up with one of my secondary domains, but the script is safe to re-run, so I could easily reconfigured everything for my primary domain.

    Once installation and configuration is done (almost automatically) there’s a web-based admin interface for all the rest.

    The contents of the box

    There’s quite a bit in the box:

    • Postfix – for sending and receiving email;
    • Dovecot – IMAP server;
    • Roundcube – web mail;
    • Nextcloud – a minimal instance for contacts and calendars;
    • Let’s Encrypt certificate handling;
    • A DNS server;
    • A backup system, local or remote;
    • Munin for server status surveillance;
    • A minimal web server for static pages; and
    • An admin interface.

    Practically everything is configured out of the box or through the admin interface.

    Everything is integrated.

    There’s a unified user database, so you login to all the different parts using a single login (your email address) and a single password.

    The contacts in Nextcloud are available in the web mail.

    I haven’t had to touch a configuration file for anything directly.

    This is as close to “it just works” as I’ve seen on Linux.

    DNS

    There are lots of DNS entries for mail, and while it is possible to use other DNS servers, it is a lot of work setting up all the different A, NS, MX, TXT and SRV records.

    Mail-in-a-box has a primary DNS server included, which has all the needed records.

    For most of the fifteen or such domains I have, in four or five groups, it was far easier to change the primary DNS server for the domain to the Mail-in-a-box server than to enter all those records in the hosting provider’s web interface.

    Since I have another VPS with web sites and my primary Nextcloud instance, I could easily configure that as secondary DNS server and use the mail box as the primary DNS.

    I have one domain, in Denmark, where I cannot do that. Fortunately Mail-in-a-box offers a very long list of what you need to configure in an external DNS service to work from, so it’s mostly just tedious copy and paste work.

    Configuring mail clients

    Receiving, reading and sending mails using the web mail works straight out of the box.

    On our home computers we use Thunderbird, but Mail-in-a-box sets up the necessary DNS names and files for auto-configuration, so we just needed to enter our primary email address and our password, and Thunderbird got the rest directly from Mail-in-a-box.

    The Gmail app on Android phones doesn’t do that, so there we had to enter the hostname manually.

    Apparently the Gmail app for Android only do threaded mail reading for Gmail accounts, so the experience is less pleasing. I installed FairEmail on my phone, and it got the configuration automatically.

    Relaying

    My Linux systems tend to send me emails every once in a while. They’re mostly the output of cron jobs, various reminders, or notices of system updates.

    First thing, I created a ‘relay@mail.server’ on the Mail-in-a-box server, so I could configure the mailer daemon on the other computers to relay through the mail server authenticated as the relay user.

    The mail server promptly rejected the mails, saying that the ‘relay’ user wasn’t authorised to send mails from those senders (such as ‘root@web.server’).

    The solution was to create several aliases for the relay user, for each of the sender envelope addresses coming out of the web server.

    Mail from our home computers were likewise rejected, because the hostnames used didn’t resolve in DNS. They’re internal hostnames on home networks, so I’m not putting them in DNS.

    In the end I reconfigured Exim4 on these computers to use the primary domain for envelope addresses, and then mail is then accepted by the mail server, if there’s an alias for the relay user for the sender envelope address.

    This means having aliases like ‘root@primary.domain’ and ‘www-data@primary.domain’ for the relay user.

    Conclusions

    Mail-in-a-box makes it very easy to setup and run a correctly configured mail server, which normally is labour intensive and troublesome.

    Most of the time spent making a replacement mail server for the old G Suite setup was in transferring all the domains to the Mail-in-a-box DNS server and getting relaying to work as I wanted.

    Otherwise it’s been a breeze.

  • Installing newer ALSA driver on an Asus Eee Pc 1000H

    Installing newer ALSA driver on an Asus Eee Pc 1000H

    I have Debian testing on my Asus Eee Pc 1000H with Linux 2.6.26.  The ALSA driver therein doesn’t fully support the Eee Pc 1000H (and  therefore neither the 901).Sound playback is fine, but the microphone doesn’t work.

    Installing Linux 2.6.28 was a no-go as the drivers for the wireless isn’t available there, so I decided to install ALSA 1.0.19 to that.

    The explation is from the Debian Eee Pc wiki.

    First make sure you have module-assistant and friends installed and setup

    aptitude -r install module-assistant
    module-assistant prepare

    The ‘prepare’ command will download additional packages needed to compile modules for the running kernel.

    Now download the latest ALSA sources, which I got from Experimental

    aptitude -t experimental install alsa-source

    To build the driver all you need to do is

    module-assistant build alsa

    and wait for the compile to finish.

    Afterwards you’ll have a .deb file in /usr/src ready for installing.  I used dpkg directly, but

    module-assisstant install alsa

    will do it for you too.

    I simply rebooted to make sure all old modules were removed and the new ones loaded. It can be done without a reboot.

    Most mixer inputs and outputs change name with the new driver, so the ACPI hotkey scripts need a bit of updating. Its a bit nitty-gritty where you need to edit several scripts by hand, and its all described in the wiki.

    Now I just need to get Ekiga to do video calls to Gizmo on my  wife’s macbook.

    Fediverse Reactions
  • Asus Eee Pc 1000H with Debian Lenny (testing)

    Asus Eee Pc 1000H with Debian Lenny (testing)

    I have bought an Asus EeePc 1000H which is one of the new popular netbook – a very small and light weight notebook. I chose the Asus EeePc 1000H for several reasons:
    • I travel a lot, often by motorcycle and kayak, and need something compact and lightweight for mail, internet, blog updates and social networks;
    • initially I wanted the EeePc 901, but its being discontinued and it costs almost the same as the 1000H, which has a hard disk and a larger keyboard;
    • though delivered with Windows XP, the hardware is quite Linux friendly and almost identical with the 901 which were sold with Linux;
    • its small and cute (even my wife says so).
    The specs are:
    • Intel Atom N270 dual core CPU,
    • Intel Mobile 945GME chipset,
    • 1 Gb DDR2 667MHz RAM upgradable to 2Gb,
    • 160 Gb SATA harddisk,
    • Six-cell LiOn battery 6580 mAh,
    • 10″ WVGA display at 1024×600,
    • ElanTech touchpad,
    • RaLing RT2860 wireless network adapter – IEEE 802.11bgn,
    • Attansic Technology L1 Gigabit network adapter,
    • Broadcom BT-253 internal USB bluetooth adapter,
    • Alcor Micro SD/MMC Card Reader,
    • Genesys Logic USB 2.0 webcam 1.3Mpixel.
    It is a fairly small laptop, measuring 27×19×3cm and weighing 1.45kg which is a bit more that I had hoped (the 901 is less than 1kg) but it is OK, as I won’t have to bring an extra USB disk for additional storage.

    Conclusions

    I have installed Debian testing/lenny on it, through the Debian Eee Pc projects installer. It is a specialised installer which does a slightly different installation and configuration, but the resulting system is a normal Debian system. Most parts of the netbook work immediately with little or no manual configuration after a base install, but there are a few parts that doesn’t or that are a bit unstable. Most of these seem to have a solution on the way. An install through the Debian Eee Pc installer of Debian Testing (lenny) with a Linux 2.6.26 kernel leaves these parts non-functional:
    • Front microphone doesn’t work (should be fixed in the latest ALSA release, included ibn Linux 2.6.27);
    and these only partly functional:
    • Wireless network driver only works with certain setups (for me, open network and WPA/PSK work, WEP doesn’t);
    • Touchpad is working with a generic driver which doesn’t support all the functions of the hardware;
    and these require an extra effort to get fully functional:
    • Keyboard hotkeys (editing a configuration file)

    Installation

    The installation procedure was more or less as specified on the Debian Eee Pc Wiki. The computer came with Windows XP preinstalled and with the disk partitioned in a particular way. Since I’ve paid for that Windows installation, I’d like to retain it in case I should need it later. The harddisk was initially partitioned like this:
    1. Windows XP system 75 Gb (type 7 – HPFS/NTFS)
    2. User data 60 Gb (type 7 – HPFS/NTFS)
    3. Windows accelerated boot 8Gb (type 0x1c – Hidden W95 FAT32)
    4. EFI partition for the BIOS “Boot Booster” 40Mb (type 0xef)
    The partitions 1 and 4 would be needed for Windows XP and the BIOS, and I wasn’t sure what partition 3 was for, so I decided to leave it untouched. I think it is for an accelerated boot of Windows XP where they make a hibernation type snapshot at boot time which can then be used at subsequent boots to speed up things. For Linux I would need a root, a swap and a user data partition, so I decided on this partitioning scheme:
    1. Windows XP system 10 Gb (type 7 – HPFS/NTFS)
    2. Extended partition 125Gb (type 5 – Extended)
      1. Linux root 8Gb (type 83 – Linux)
      2. Linux swap 1Gb (type 82 – Linux swap)
      3. Linux home 116Gb (type 83 – Linux)
    3. Windows accelerated boot 8Gb (type 0x1c – Hidden W95 FAT32)
    4. EFI partition for the BIOS “Boot Booster” 40Mb (type 0xef)
    Starting the Debian Eee PC installer was quite easy. I downloaded the image, copied it to an SD card, inserted it into the card reader and booted while pressing ESC so the BIOS asked which device to boot. The installer is the normal Debian lenny installer, only with a payload of special modules for the EeePc specific hardware, which for now include both wired and wireless network adapters and ACPI functions. Before starting it is a good idea to disable “Boot Booster” and “Quick Boot” in the BIOS. Otherwise it is quite likely the system will just launch you into Windows XP so fast you have little time to press ESC for the boot device menu or F2 to enter the BIOS. I had to start the installer several times to shrink and resize the Windows XP partitions and setup my own partitioning scheme as shown above. The first several boots into the Debian installer was to shrink and resize the Windows XP installation, and setup my partition scheme. I repeatedly took the installer up to the point where it wants you to partition the harddisk, then pressed Alt-F2 to get a shell. The first time I used ntfsresize to shrink the Windows XP NTFS filesystem from 75Gb to 10Gb. Second time was to resize the actual Windows XP partition using fdisk, followed by a boot to Windows XP to make sure the installation was still bootable. Then the third time to setup the Linux partitions, and only afterwards did I let the installer continue and do the actual installation. The Debian installer is so easy these days its almost boring. I only had to answer a few questions, enter some passwords and select what I wanted of software on the computer. I let it install all of the Gnome desktop environment, which was probably a mistake, since I had a bit of work afterwards reducing it to only the parts I actually wanted. I have no use for Windows terminal services or remote desktop systems, or all the CD/DVD ripping and mastering software I had installled automatically.

    Hardware walk-through

    CPU – Intel Atom N270 1.6GHz works out of the box with both cores available and CPU frequency scaling activated. Disk – the SATA disk works as expected. Sound – works except for the front microphone, which is supported in the next version of ALSA, included in Linux 2.6.27. SD card reader – works. USB – works out of the box. Wired network – the Attansic Technology L1 Gigabit network adapter uses an “atl1e” driver which works without any problems noted. Wireless network – works partially with the rt2860sta driver included in the Debian Eee Pc install. It works for me with a WPA/PSK access point, and with an open network, but not without some problems. The driver drops the association at high throughput and subsequently fails to re-associate to the access point without a manual intervention. With a WEP setup it associated with the access point, but failed consistently to get an IP address from the DHCP server. There is no hardware kill switch. Bluetooth – the internal USB adapter works out of the box. There is not hardware kill switch. ACPI – this is governed by a special eeePc driver included in the Debian Eee Pc installer. It seems to support everything: power switch, lid, extra keys, battery, cpu, suspend states etc. Video out – not yet tested Video – Intel Mobile 945GME chipset, which works with X.org. It is automatically configured by the Debian Eee Pc install, so X windows works immediately, compositing included. Touchpad – works partially. It is currently controlled by a generic driver, which doesn’t support all the functions of the hardware. The touchpad works as such, with tapping and the two buttons below it. The middle mouse button can be activated by a two finger tap, and a scroll wheel simulated by a two finger drag. A three finger tap works as a right button click, but it is almost impossible to get right on the small touchpad. Extra keys – works with initialisation – see later “Hotkeys” Suspend – both suspend and hibernate works through the Gnome Power Manager. I have uswsusp installed, but I don’t know if the Gnome Power Manager uses the kernel suspend functions or uswsusp. Sometimes bluetooth disappears after a resume, but I still haven’t figured out why. You need to belong to the “powerdev” group to get full Gnome Power Manager functionality. Webcam – the necessary Video4Linux drivers are automatically installed, and the camera seems to work. I can get mplayer to show me live video from it. Keyboard – while it has nothing to do with Linux, I do have a few grievances about the keyboard. It has at least two deficiencies. While is has a nice and usable size, the right shift key is placed in a very annoying position, to the right of the “up” arrow key, which I alway hit by mistake. Also, the shift lock key has no status indicator anywhere, so you cannot see if shift lock is on or off, except trying to type something.

    X Windows

    Basic X.org configuration was automatic. The X.org server uses the “intel” driver for the Intel 945GME graphics chip set. It is by default set up with EXA acceleration, but the Debian Eee Pc wiki states that using XAA might be better, and my experience confirms it. It feels quite a bit snappier with XAA, especially when scrolling in Firefox. DRI was configured automatically. The touchpad it is an Elantech touchpad but it is not recognised as such by the kernel. It detected as a “ExplorerPS/2”, not as a proper touchpad. The funny thing is, however, that the touchpad still works to some degree. It reacts to movement and taps, there is a scroll wheel area on the right side of it, and a two finger tab becomes a middle click. A three-finger tap becomes a right click but it is very hard to reproduce reliably. There seems to be a driver for the touchpad in the working, but it’s currently only semi-functional. I haven’t delved deeper into this, as it does work. Compiz was only an “aptitude install compiz” away. All the necessary prerequisites were taken care of by the Debian Eee Pc installer.

    Hotkeys

    The keyboard has some special keys, which are handled by a special eeepc ACPI module. I had to edit the /etc/default/eeepc-acpi-scripts file to get the sound volume keys to work properly. I needed to set the variables
    VOLUME_LABEL='Master'
    HEADPHONE_LABEL='Headphones'
    Apparently the default setup is for the latest Alsa release, but not the one used by the 2.6.26 kernel.

    Major outstanding issues

    • Front side microphone is not working,
    • Touchpad not fully supported.

    Links

    Fediverse Reactions
  • Aptitude

    I’ve been using dpkg, apt-get and apt-cache for a long time, but since I got a new laptop with a fresh install of Debian testing I have been playing with new toys. One is aptitude. I found the curses-based interface obnoxious, but after some time I came to like the command line interface. It has some very nice abilities. It integrates debfoster functionality as it automatically uninstalls unused dependencies of packages being removed. That’ll be a great help in maintaining a clean uncluttered system. The search function is really useful, adding a lot of possibilities that used to require several programs. Here are few examples: Search for all packages whose description matches “syncml”:
    aptitude search ~dsyncml
    Search for installed packages depending on “rsync”:
    aptitude search ~Drsync~i
    The search patterns are regular expressions, so the above will actually search for an installed package depending on some other package whose name contains the substring “rsync”. Simpel terms search on the package names, such as:
    aptitude search '^rdiff'
    Aptitude has a silly little easter egg. Try “aptitude moo” and then add “-v” options one at a time.