TurtleBot

Z DCEwiki
Verze z 6. 8. 2019, 14:03, kterou vytvořil Keny (diskuse | příspěvky) (Založena nová stránka s textem „Kategorie:DC [https://www.turtlebot.com TurtleBot], je robotické zařízení, používané při výuce na Katedře kybernetiky. Jeho "mozkem" je Inte…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání


TurtleBot, je robotické zařízení, používané při výuce na Katedře kybernetiky. Jeho "mozkem" je Intel NUC, který sice může komunikovat přes ethernet, ale primárně komunikuje přes Wi-Fi.

Zařízení se dodává s předinstalovaným Ubuntu, ale v rámci sjednocení vývojového prostředí je potřeba na něm rozběhat stejnou diskless instalaci, jako v laboratořích.

Jelikož klasické PXE funguje pouze v rámci na ethernetu, jsou TurtleBoty vytvořené podobným způsobem, je virtuální stroje typu Half-Diskless. Rozdíl je pouze v tom, že se při spouštění nepoužívá virtuální disk publikovaný přes NFS, nýbrž lokální NVME disk.

Co to obnáší?

Příprava na diskless

Protože se NUC pro TurtleBoty dodává s předinstalovaným Ubuntu, bylo nutné: 1, zmenšit diskový odddíl /dev/nvme0np2 na kterém je souborový systém ext4 s Ubuntu 2, posunout diskový odddíl /dev/nvme0np3 na kterém je swap (ten bude využívat i disklessový OS) 3, vytvořit nový diskový odddíl /dev/nvme0np4

Tento nově vytvořený diskový oddíl byl naformátován na souborový systém Btrfs, aby bylo možné subvolume pro systém nainstalovaný přes debootstrap snapshotovat.

Instalace

příkaz…

Vytvoření ramdisku s podporou Wi-Fi

Automatizace procesu

Úprava instalace disklessu

Export adresáře přes NFS

Zkopírování stávajícího obsahu fyzického stroje

Vytvoření zaváděcího disku

1, Zkopírování zaváděcího disku stroje k333-dhcp (soubor k333dhcp.img) do souboru k333stu1.img

k333-lab (NFS) :/srv/boot# cp k333dhcp.img k333stu1.img

2, Připojení souboru k333stu1.img přes losetup na loop0

losetup /dev/loop0 /srv/boot/k333stu1.img

3, Mount diskového oddílu s jádrem a soubory zavaděče

k333-lab (NFS) :~# mount /dev/loop0 /mnt -o offset=$((2048*512))
Poznámka Při namountování musí být použit offset!

4, Zkopírování stávajícího ramdisku a jádra. A úprava souboru /mnt/grub/grub.cfg