[Guide] - Crostini Multi Container to Debian ArchLinux Ubuntu 🐧

List of available LXC live images - :point_right: RIP - :point_right: Solution

images: remote are dead by canonical so lets go add a different mirror-images: server:

lxc remote add mirror-images https://mirrors.tuna.tsinghua.edu.cn/lxc-images/ --public --protocol simplestreams
lxc remote add lxd-canonical https://images.lxd.canonical.com --protocol simplestreams --auth-type tls
lxc remote list

Crostini ArchLinux Penguin :white_check_mark:

For safety first keep the original debian penguin unchanged and just enable the #crostini-multi-container flag and add one more!

🖱️Add a Linux to your penguin sommelier first:🖱️

Crostini Vibes Enable and Become an LXC Expert:


Turn on the flag for multiple containers.
Go to Developers and add another container with a random name it will automatically create it with your ip.

🖱️Grant connection to your Linux container:🖱️

Start the terminal and grant you have access to the internet by doing sudo ping google.com if no return - then: Shut Down Crostini and start it again.

Repeat the process if needed.

  1. Start Vsh Termina
  • Press Ctrl+Alt+T to open the crosh terminal.
  • Type vsh termina.
  • If you see (termina) chronos@localhost ~ $, it means that Termina has started successfully.

Set Up the Arch Container - This installs archlinux into LXC container

  • Run the command below to install the ArchLinux container:
vsh termina # vmc stop termina / vmc launch termina
lxc list
#fydeOS can't have security.privileged containers openFyde can.
#Dont forget to add the new mirrors
lxc launch lxd-canonical:archlinux archlinux
lxc exec archlinux -- bash
# lxc stop / lxc delete / lxc start / lxc console
passwd #set a root password
#systemctl --user restart sommelier{,-x}@{0,1}.service
#try ping google.pt till it works

#Install basic requirements
bash <(curl -fsSL https://raw.githubusercontent.com/kwankiu/acu/main/acu) -u
acu -y install base-devel gtk3 openssh xdg-utils xkeyboard-config curl make neovim wl-clipboard fish pacman-contrib wayland xorg-xwayland devtools dhclient neofetch sudo screenfetch

Create your username and password ex: ‘archlinux’

sudo useradd -G wheel -m archlinux
sudo passwd archlinux

sudo sed -i 's/^# \(%wheel ALL=(ALL:ALL) ALL\)/\1/; s/^# \(%wheel ALL=(ALL:ALL) NOPASSWD: ALL\)/\1/' /etc/sudoers
exit 
lxc exec archlinux su - archlinux
acu install cros-container-guest-tools-git --noconfirm
#ignore permission denied errors
🖱️On arm64 you can just replace user 'alarm' (optional/skip)🖱️
grep 1000:1000 /etc/passwd
groupmod -n archlinux alarm
usermod -d /home/archlinux -l archlinux -m -c archlinux alarm

#sudo sed -i 's/^# \(%wheel ALL=(ALL:ALL) ALL\)/\1/; s/^# \(%wheel ALL=(ALL:ALL) NOPASSWD: ALL\)/\1/' /etc/sudoers
#or manually:

passwd archlinux #Set user passwd
visudo
# ^ Uncomment the line that says:
# %wheel ALL=(ALL) NOPASSWD ALL
:wq #(Press ESC and type :wq enter to save and exit)

usermod -aG wheel archlinux
exit 

#lxc exec container su - your_username
lxc exec archlinux su - archlinux

Exit Crosh - Start debian penguin to let it establish and then start your Archlinux clicking it 3 times.

Once it starts have fun et Voilá Sudo Pacman Treé Jolie.


🖱️Extras for pacman:🖱️
sudo nano /etc/pacman.conf
# ^ Optional: Update pacman config. I prefer to:
#   - uncomment #Color
#   - uncomment #VerbosePkgLists
#   - uncomment #ParallelDownloads = 5

sudo nano /etc/pacman.d/mirrorlist
# ^ Optional: Use a closer mirror. Eg, change
#   mirror.archlinuxarm.org => au.mirror.archlinuxarm.org
#
#   A full list of mirrors are in this page:
#   https://archlinuxarm.org/about/mirrors

🖱️Network Fix (Most likely needed):🖱️
#Check the network by running (it can't be empty) with:
ip -4 a show dev eth0
#if no connection then:
sudo dhcpcd eth0
#sudo pacman -S dhclient
sudo systemctl disable systemd-networkd
sudo systemctl disable systemd-resolved
sudo unlink /etc/resolv.conf
sudo touch /etc/resolv.conf
sudo systemctl enable dhclient@eth0
sudo systemctl start dhclient@eth0
ping 8.8.8.8

🖱️Renaming containers: (only optional)🖱️
#Crosh Ctrl+Alt+T
vsh termina
lxc stop archlinux
lxc stop penguin
lxc rename penguin debian
lxc rename archlinux penguin
lxc restart penguin

🖱️Basic terminal troubleshoot:🖱️
Check your baseline repos: `sudo nano /etc/pacman.conf`
sudo pacman-key --refresh-keys
sudo pacman -S archlinux-keyring
sudo rm /var/lib/pacman/db.lck

🖱️Links for Reference🖱️

You can switch it to ArchLinux https://fydeos.io/docs/knowledge-base/linux-subsystem/archlinux/
Debian to Arch: https://shibumi.dev/posts/install-arch-linux-on-chromeos/
Baldrailers Github: https://gist.github.com/baldrailers/09ba52a17219ca1e8fbf233dc8a4b375/
Great guide: https://12101111.github.io/install-archlinux-on-fydeos/
Awesome Info: https://blog.skihome.xyz/archives/4/