Sziasztok,
most már pár napja szívok egy n00b problémával:
van egy RPI 64GB-os kártyával, amit szeretnék dd-vel átírni egy 256GB-os kártyára. Ez hibátlanul sikerül is, utána tudok bootolni a 256-os kártyáról.
A probléma ott kezdödik, hogy szeretném a 2. particiót a kártya maximális méretére kiterjeszteni. Két féleképp próbáltam, egyszer futó rendszernél és egyszer egy másik gép kártyaolvasójában. Csak a parancsok és méretek miatt a folyamat itt bemásolva:
pi@dockerpi:~ $ sudo parted /dev/mmcblk0
GNU Parted 3.2
Using /dev/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit chs
(parted) print
Model: SD SN256 (sd/mmc)
Disk /dev/mmcblk0: 31107,171,39
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 31107,255,63. Each cylinder is 8225kB.
Partition Table: msdos
Disk Flags:
Number Start End Type File system Flags
1 0,32,32 32,194,33 primary fat32 lba
2 32,194,34 7764,108,23 primary ext4
(parted) resizepart 2 31107,171,39
(parted)
(parted) print
Model: SD SN256 (sd/mmc)
Disk /dev/mmcblk0: 31107,171,39
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 31107,255,63. Each cylinder is 8225kB.
Partition Table: msdos
Disk Flags:
Number Start End Type File system Flags
1 0,32,32 32,194,33 primary fat32 lba
2 32,194,34 31107,171,39 primary ext4
ezután még volt
sudo e2fsck -f /dev/mmcblk0p2
sudo resize2fs /dev/mmcblk0p2
aztán átrakva a pi-ba a bootolás során megáll az USB eszközök felismerésénél.
próbáltam úgy is, hogy letörlöm a particiót és újra, nagyobb méretben létrehozom resize helyett, de az eredmény mindig ugyanaz. Van egy leírás, ami a futó rendszer alatt csinálja végig az egészet, az is ugyanazt eredményezi.
Mit bénulok el?
Hozzászólások
Amellett hogy ez így szemre okés, a raspi-config meg tudja csinálni amit szeretnél, gondolom az csak jól működik.
a "raspi-config"-al a parancssori beállító-programra gondolsz? ott kéne valamit mókolni partició nagyítás után?
a tipped volt a tuti, a
meghozza a várva várt eredményt:
köszönöm!
Nem volt dolgom még RPI kütyüvel, nem tudom, van-e valami méretkorlát bootra valamelyik verzióban, de azt már olvastam, hogy háklisak a kártyatípusokra, van amiről nem bootolnak be rendesen (van, hogy bebootol, de később újraindul, aztán be sem bootol már).
Szerk.: Tipp: Én megnézném pl., hogy ~120 GB-ra növelve bebootol-e.
Próbálok minöségi kártyákat használni, jelenleg 2 SanDisk Max Endurance (64GB) ill. High Endurance (256GB) kártyáról van szó.
Mint írtam, amikor dd-vel klónozom a 64-est a 256-osra, de nem változtatok a partició mérten, akkor szépen elindul a 256-osról is. A méretváltoztatás után is elindul, de elakad.
Jó tipp a 120GB méret, erre nemrég én is gondoltam....ki fogom próbálni
ez sem segített, ugyanaz az eredmény.
Akkor most az lesz, hogy átmásolom a 64GB-s kártya tartalmát sokadszor, majd a szabad helyen létrehozok egy adat particiót, és oda migrálom az adatokat.... nem szép, de ez müködni fog szerintem
esetleg boot-ra microSD, tárhelynek meg USB? Őszintén szólva nem néztem meg a datasheet-eket, de endurance terén kb azonos egy ilyen HE microSD / USB pendrive / külső házban lévő USB-SSD ?
USB-n nem ammyira szeretném tárolni, mert be van építve egy kapcsolószekrénybe otthon, ahol már nincs hely. de mint lejebb írtam, szerencsére megoldódott a raspi-config paranccsal
Esetleg ez?
https://sigs.centos.org/automotive/building/resize_partition/
köszönöm, ezeket a lépéseket csináltam, de ez így nem elég. Ahogy Buga írja lejebb, lehet több kell hozzá...
de köszönöm, h megnézted
Hogy néz ki az fstab-od, esetleg nem a partuuid hivatkozás van benne? Az ugyanis változhat egy ilyen parted-del történő resize után, fel is hívja erre a figyelmet a parted kilépéskor. Ha így van, akkor az fstab update-je kell és a bootloader tudtára is kell adnod (nincs raspberrym, de google alapján a /boot/cmdline.txt esélyes).
közben köszönöm, megoldódott - biztos sokan futottak ebbe bele és ezért bele rakták a raspi-config-ba.
de tényleg köszi, h vetted a fáradtságot válaszolni
Ezért szar mások által előre állított, „felhasználóbaráti” szintre butított rendszert felrakni, mert nem tudod, hogy mit hogy állítottak be, és ha valami nem megy, akkor nem tudni mi nem kerek, mi okozza. Valószínű az van, amit a kolléga ír, fstab-ban, vagy GRUB konfigban fájlrendszer UUID van megadva, és nem partíció UUID, amit PARTUUID-nek szoktak írni. Bár elvileg a resize2fs-nek meg kéne tartsa a fájlrendszer UUID-jét is, de ezt nem mondanám biztosra.
Én már csináltam ilyet, hogy rendszer alatt partíciót átméreteztem, csak én nem RPi-on, hanem sztenderd x86_64 PC-n, és sima is volt. Ugyanígy is csináltam, mint te próbáltad, annyi, hogy cfdisk-et használtam parted helyett, de annak mindegynek kéne lennie, aztán épp úgy fsck meg resite2fs futott utána. Természetesen nálam PARTUUID volt megadva az fstab-ban és systemd-boot konfigban is.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
arra jó volt, hogy tanultam így valamit, mert eddig particiókat nem nagyon mertem változtatni. Ezt az fstab-os dolgot is megnézem még, illetve lehet veszek még egy 256-os kártyát és újra próbálom kézzel.. :)
Na, ezt sose gondoltam volna. Holnap muszáj lesz kipróbálni...
Nem bírtam ki... szóval az fstabban (és a cmdline.txt-ben is) nálam label van, így ha az lemaradt, akkor érthető, hogy miért nem bootolt.
Viszont a UUID és PARTUUID megmaradt, amit meg nem értek (hacsak a raspi-config vissza nem ügyeskedte).
A mezei resizepart tényleg megváltoztatta a PARTUUID-t.
a fura az, hogy bootolt, de nem futott végig, hanem elakadt az USB eszközök felismerésénél (írtam a topic nyitóban). WTF?!
annyi még, hogy a sudo e2fsck -f /dev/mmcblk0p2 parancsnál, talál mindig ugyanott egy hibát, amit kijavít. Lehet azzal romlik el a bootfolyamat. e2fsck nélkül vizsont nem engedte futtatni a resize2fs-t
Hátttőőőő... most erőltetek egy magyarázatot, de ugye kábé úgy van, hogy bootnál behúzza a kernelt meg az initrdt, majd bebikázza a kernelt, ami végrehajtja amit az initrdben talál. Namost, ha az usb modulok az igazi rootfs-en vannak (ami nem kizárt, báár nem hiszem), akkor magyarázható, hogy amikor próbálná összeszálazni őket, akkor bizony nem sikerül.
Aztán most kipróbáltam x86-os Debiánon és RedHaton is, azokon megmaradt a PARTUUID. Itt elvesztettem az érdeklődésemet hogy disztró-, csomag-, vagy plaformfüggő-e. Vagy csak nem csinált semmit, mert már eleve 100%-on volt/van.
megnéztem én is az eredeti kártyát és a 256-osat raspi-config-el méretváltás után....ugyanaz a PARTUUID van mindkettön
akkor lehet, hogy az Inode 43466 javítása miatt nem megy tovább a boot folyamat, mert ott valami elromlik:
illetve ahogy nézem az /usr/bin/raspi-config fájlt és úgy olvasom, hogy az elsö boot után automatikusan átméretezi a maximum méretre a particiót, akkor lehet, duplán csináltam valamit és attól hal be. Na mindegy, a lényeg, h müködik
A fenti "demo" command végrehajtást Debian 11-en (x86_64) csináltam, parted 3.4-el. Persze ha nem csinálsz valóban resize-ot, akkor mitől vársz változást?
Semmitől. Viszont olyan telepítésen futtattam, amin elvileg már ki volt tolva a partíció koppra. Elvileg. Most újból lefuttattam, és most maradt a PARTUUID.
Szóval most vagy benéztem valamit, vagy nem volt teljesen koppon.
A label és a fájlrendszer UUID az a fájlrendszer formázásakor változik, átméretezéskor nem. Az PARTUUID meg csak akkor változik, ha törlöd az adott partíciót, és újat hozol létre, átméretezéskor nem kéne változnia.
A label elvileg emberileg a legjobban megjegyezhető, de a UUID, PARTUUID se gáz, pl. vi/vim-klónokban :r !blkid segítségével beolvasható az összes fajta label, UUID, PARTUUID, nem kell kézzel bemásolgatni, mikor az ember az fstab-ot, meg GRUB vagy más konfigot szerkeszt.
Egyet nem szabad csinálni, /dev/eszköznévvel hivatkozni a partícióra, az állandóan eltolódhat, változhat.
“The world runs on Excel spreadsheets.” (Dylan Beattie)