Ten opis skierowany jest do zaawansowanych użytkowników i integratorów, którzy mogą wykorzystać Asystenta domowego do tworzenia własnych projektów/produktów.
Celem tego wpisu jest pokazanie, w jaki sposób można uruchomić na bramce inny/dodatkowy system operacyjny.
Wprowadzenie
Metoda ta oparta jest na uniksowym chroot (ang. change root), poleceniu które uruchamia program ze zmienionym katalogiem głównym (root). W zmienionym środowisku działają też procesy potomne programu.
Zmiana katalogu głównego może być przydatna podczas testowego uruchamiania “niepewnych programów”, gdyż nie mają one wtedy dostępu do katalogu nadrzędnego względem nowego katalogu głównego - działają w tak zwanym “środowisku piaskownicy” (bez dostępu do systemu, na którym są uruchomione). Jeśli takie środowisko wyposażymy w dodatkowe pliki, to otrzymamy nowy izolowany od naszego system operacyjny.
Instalacja pRoot
Żeby nie używać root-a do wywołania chroot, skorzystamy z alternatywnego rozwiązania → PRoot
W konsoli bramki wpisujemy:
apt update && apt install proot -y
Żeby mieć wszystkie pliki Ubuntu w jednym katalogu, stwórzmy nowy folder na bramce w naszym katalogu domowym o nazwie ubuntu:
mkdir ~/ubuntu
Następnie przejdźmy do tego katalogu:
cd ~/ubuntu
Pobierzmy i rozpakujemy pliki Ubuntu komendą:
curl https://raw.githubusercontent.com/sviete/AIS-utils/master/linux/ubuntu.sh | bash
W wyniku powinieneś otrzymać coś takiego w konsoli:
$ curl https://raw.githubusercontent.com/sviete/AIS-utils/master/linux/ubuntu.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2114 100 2114 0 0 3754 0 --:--:-- --:--:-- --:--:-- 3761
downloading ubuntu-image
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 21.3M 100 21.3M 0 0 2166k 0 0:00:10 0:00:10 --:--:-- 2856k
decompressing ubuntu image
2020 Jan 30 16:30 AI-Speaker all done!
You can now launch Ubuntu with the ./start-ubuntu.sh script
Teraz można uruchomić Ubuntu komendą:
./start-ubuntu.sh
Sprawdzamy jaką mamy dystrybucję komendą:
cat /etc/*release
root@localhost:~# cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.04
DISTRIB_CODENAME=disco
DISTRIB_DESCRIPTION="Ubuntu 19.04"
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
root@localhost:~#
Instalowanie pakietu Ubuntu:
Standardowo:
apt update
apt install <nazwa pakietu>
Żeby wyjść do systemu AI-Speaker wpisujemy:
exit
root@localhost:~# exit
logout
$
Żeby ponownie uruchomić Ubuntu w katalogu ~/ubuntu wpisujemy:
./start-ubuntu.sh
PS
Jeśli to jest konieczne, to można też uruchomić GUI i połączyć się z Ubuntu na bramce po VNC. Nie opisuje tego szczegółowo, bo do testów pakietów binarnych konsola powinna nam wystarczyć.