Naklonování LibreELEC na menší SD kartu

Při instalaci LibreELEC na nové RPi4 (kvůli HEVC) jsem použil zbytečně velkou SD kartu (64GB) a poté zjistil, že jsem na předchozím RPi3 úspěšně používal 2GB sd kartu a měl na ní i po letech volné místo (data mám na NAS serveru).
Jelikož jsem už ale na RPi4 leccos nakonfiguroval, nechtělo se mi instalovat znova.
Rozhodl jsem se proto naklonovat 64GB SD kartu na 2GB sd kartu.
Obě karty obsahovali LibreELEC. Pokud by cílová neobsahoval LibreELEC doporučil bych nejprve na ní naistalovat poslední LibreELEC image (viz zde).

Ve windoze jsem nenašel vhodný nástroj, zkoušel jsem EASEUS, ale nezafungovalo.

Nakonec jsem nahodil notebook s linuxem (u mne Kali, ale mělo by fungovat všude).

Nalogován jsem byl jako root. Pokud bych byl jako user tak asi někde možná bude potřeba sudo.

Vycházel jsem z návodu zde. Zkoušel jsem i partimage, ten fungoval na prvním partition, ale na druhém házel chybu, takže jsem nakonec raději použil dd.

Záloha cílové karty (pokud je třeba)

Cílovou kartu mám jako /dev/sdb a jsou na ní 2 partition.

fdisk -l

Zálohu jsem provedl pomocí dd a zagzipoval.

dd if=/dev/sdb1 of=/root/LibreELEC_RPi3_partition1.img bs=64K conv=noerror,sync
gzip /root/LibreELEC_RPi3_partition1.img

Druhý partition by šlo naklonovat stejně, ale z mé zkušenosti je výsledný sobor dost velký i po zazipování (jelikož se kopírují i filestémem nevyužité byty).
Jelikož data z druhého partition stačí jen zkopírovat, je podle mne lepší jen zkopírovat data do tar.gz archivu a uložit si UUID.
Je třeba druhý partition (tady /deb/sdb2) namountovat. Dělám z GUI a namountuje se do /media/root/STORAGE .

blkid /dev/sdb2 > /root/LibreELEC_RPi3_partition2_UUID.txt
tar -czvf /root/LibreELEC_RPi3_partition2_copy.tar.gz -C /media/root/ STORAGE

Klonování 1 partition

Systémovou partition jsem naklonoval pomocí dd. sdc je zdrojový disk (ten 64 GB). sdb je cílový disk (2GB), který jsem si zazálohoval.

dd if=/dev/sdc1 of=/dev/sdb1 bs=64K conv=noerror,sync

Kopírování dat na 2 partition

Druhou partition nemohu naklonovat (větší než cíl) ale je to std ext3 linux partition, takže jen zkopíruji data.

Obě partition namountuji –  u mne Kali jsem jen otevřel v GUI OpenFolder a otevřel partition STORAGE na obou discích. Tím se namountovalo /dev/sdb2 do /media/root/STORAGE a /dev/sdc2 do /media/root/STORAGE1

V midnight commanderu jsem smazal obsah /media/root/STORAGE a nakopíroval do něj /media/root/STORAGE

Oprava UUID

Bohužel při bootování z takto vytvořené SD karty jsem dostal chybu, že nemůže namountovat storage a za tím UUID. Jasně jelokž jsem data na druhém partition jen zkopíroval, zůstalo UUID původní, ale data na první (bootovací) partition mají UUID z 64GB disku.

Postupoval jsem podle návodu zde.

Pokud je sdb2 namountováno je třeba nejprve unmount. Unmount jsem dělal z GUI – v „průzkumníku“ pravým na jméno disku a unmount.

blkid

Zde si opíšeme UUID z /dev/sdc2 a zadáme ho do commandu níže

e2fsck -f /dev/sdb2
tune2fs -U <UUID-z-/dev/sdc2> /dev/sdb2

potvrdíme y a necháme doběhnout a zkontrolujeme že jsou nyní UUID stejná.

blkid

Nyní již ze staré 2GB karty v novém RPi4 naběhl naklonovaný systém.

 

Zveřejnit odpověď

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*