Posts in category “Linux”

可以让Linux在Chromebook上运行的与ChromeOS 一样快吗?

我前两天在Facebook Market上又捡了一台电子垃圾:$50买了一台 Dell Chromebook 11 3120,配置是 2GB 内存,16GB硬盘。卖家之前已刷了Sea BIOS,安装了CloudReady系统,但没有搞定声卡驱动,所以没有声音,也因此他才愿意便宜出售。

我喜欢ChromeOS的流畅,但讨厌不能自由安装软件。那有没有可能在Chromebook上安装Linux并让它跑得几乎与ChromeOS一样快呢?我没有把握,也知道可能性并不大,但我还是想试试。

我在这台Chromebook 上安装了Debian 11系统,目前没有遇到大的问题,声音,蓝牙,wifi,hdmi都能正常工作,除了觉得有点慢,以及从suspend状态复原时系统变得极度缓慢,几乎没有响应。

我在这台Chromebook上目前已经做了以下尝试:

  1. 禁用Wayland
  2. 删除SWAP分区
  3. 升级到最新内核

今天打算再设置下 ZRAM内存压缩。没想到极其简单,有ZRAM Tools加持,一分钟就设置好了。照抄的例子,给ZRAM分配了60%的物理内存。Reference 那就看后续使用效果了,我会过两天再更新这个文章。

「25-05-2023更新」 我卸掉了gnome3,装上了xfce4。这是我在移情gnome之前最喜欢的桌面环境。2G内存毕竟太少了,而gnome太贪心,它吃掉了太多的内存。为了更好的性能,我转向了xfce4,而它也确实没有让我失望。这台小机器现在能做很多事,并且跑得很流畅。我很开心啦!

English Version (Thanks ChatGPT)

I picked up another piece of electronic junk on Facebook Marketplace a couple of days ago: a Dell Chromebook 11 3120 for $50. It came with 2GB of RAM and a 16GB hard drive. The seller had previously flashed Sea BIOS and installed CloudReady, but couldn't get the sound card driver working, so there was no audio. That's why he was willing to sell it cheap.

I like the smoothness of ChromeOS but dislike the limitations when it comes to installing software. So, I wondered if it would be possible to install Linux on the Chromebook and have it run almost as fast as ChromeOS. I wasn't sure and knew it was unlikely, but I wanted to give it a try anyway.

I installed Debian 11 on this Chromebook, and so far, I haven't encountered any major issues. The sound, Bluetooth, Wi-Fi, and HDMI all work fine. The only drawbacks are that it feels a bit slow, and the system becomes extremely sluggish when resuming from suspend, almost unresponsive.

Here are the things I've tried on this Chromebook so far:

  • Disable Wayland in /etc/gdm3/daemon.conf
  • Removing the SWAP partition
  • Upgrading to the latest kernel

Today, I'm planning to set up ZRAM memory compression. Surprisingly, it was incredibly simple with the help of ZRAM Tools. I allocated 60% of the physical memory to ZRAM, following an example I found at Debian Wiki. We'll see how it performs in practice, and I'll update this article in a couple of days.

Update on 25-05-2023: I have uninstalled GNOME 3 and installed XFCE4. This is my favorite desktop environment before switching to GNOME. With only 2GB of memory, it was just too little, and GNOME was too resource-intensive, consuming a significant amount of memory. In order to improve performance, I turned to XFCE4, and it has not let me down. This little machine can now handle many tasks and runs smoothly. I am very happy!"

fcitx on debian 11 missing tray icon solution:

This is because Debian 11 with Gnome does not ship with the packages to display tray icons. To install and enable the correct packages to display tray icons, run the following command:

sudo apt install gnome-shell-extension-appindicator

Then either reboot or log out and back in to Gnome, and run the following command:

gnome-extensions enable [email protected]

Reference

Toshiba chromebook2 CB35-B3340 / Dell Chromebook 11 P22T: Debian 11 setup

I managed to set up debian 11 on a Toshiba Chromebook2, model CB35-B3340 and a Dell Chromebook 11 3120 P22T00 WIFI/Sound/HDMI all work well, which satisfies me.

  • Firstly, switch Chromebook into developer mode

    • Visit Debian and use dd command to create a bootable usb stick with a minimal iso
  • Visit MrChromebox

    • Install/Update UEFI (Full ROM) firmware (the Sea bios)
  • Boot from the usb stick and setup the minimal system

    • Allow debian use all 15G space with LVM, no separate partitions
    • Skip wifi setup as we don't have the firmware at that moment
  • Boot from the chromebook into debian without GUI, without network

  • Plug a usb realteck 8139 ethernet card and so I get internet connection:

    • add non-free and main contrib source line to /etc/apt/sources.list file:

deb http://mirror.fsmg.org.nz/debian bullseye main contrib non-free

  • apt install firmware-iwlwifi, firmware-intel-sound

  • apt install gnome-core (wifi works from now)

  • plug off the usb ethernet card and reboot

    • wifi works
  • Other settings

    • Remove old kernels to save space, Help Reference
    • Settings => Power => Disable auto suspend when plug in
    • Run sudo apt clean
    • Restrict journal log max size by vim /etc/systemd/journald.conf and uncomment the SystemMaxUser=50M line, and then systemctl restart systemd-journald

Ubuntu 22.04 setup chyrp lite environment and more

You must have known that I just migrated this blog site to a VPS hosted on oracle cloud, while this wiki page is too brief to get a workable environment easily.

Here is the note for this migration.

  1. sudo -i
  2. Install packages that chyrp will need
    apt install php8.1 php8.1-xml php8.1-fpm php8.1-mysql php8.1-mbstring mysql-server nginx certbot python3-certbot-nginx
  1. Set a password for 'root'@'localhost' account on this new mysql server
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
    FLUSH PRIVILEGES;
  1. Run mysql_secure_installation to
  • Remove anonymous users
  • Disallow root login remotely
  • Remove test database and access to it
  1. Create a common user for the blog database, and the blog database
    CREATE USER 'blog'@'localhost' IDENTIFIED BY 'superdifficultpassword';
    GRANT ALL PRIVILEGES ON blog.* To 'blog'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    CREATE DATABASE `blog` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
  1. Put .my.cnf with the following content in home directory
[client]
user=blog
password=yoursuperdifficultpassword
host=localhost
  1. Restore the database backup
    mysql blog < blog_20230408-030501.sql
  1. Setup nginx and https certificate with certbot
  2. Setup renew the certificate by crontab
SHELL=/usr/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
15 0 * * * /usr/bin/certbot --nginx renew > /dev/null
  1. Restore previous installation, overwrite with the latest version, do the upgrade, that's it!

Tailscale on Ubuntu put too many logs into /var/log/syslog

answer:

  1. Edit the file /etc/systemd/system/multi-user.target.wants/tailscaled.service,
  2. Add the line "LogLevelMax=3" in the [Service] section.
  3. systemctl daemon-reload
  4. systemctl restart tailscaled

Reference