Ubuntu Casper

Ubuntu Casper to nazwa katalogu zawierającego tylko do odczytu część systemu plików.

Uruchomienie Live CD w szerokim zarysie

Główne etapy uruchomienia

Główne fazy trwałego startu

Ten typ rozruchu jest wyzwalany przez stały parametr bootparam . Oferuje kilka możliwości stałego przechowywania:

Korzystanie z migawek

OSTRZEŻENIE: to urządzenie jest uważane za eksperymentalne i rzeczywiście wiele błędów uniemożliwia jego działanie bez modyfikacji.

Te zrzuty są systemy plików lub obrazów systemu plików, które są kopiowane przy starcie. Możesz zrobić migawkę w dowolnym momencie za pomocą polecenia casper-snapshot . Gdy system jest zamknięty, migawki są aktualizowane.

Jak odbywa się skanowanie dysku?

Jakie są środki interwencji użytkownika?

Możliwe interwencje podczas uruchamiania

Wszystkie programy ładujące pozwalają na przekazywanie parametrów do jądra Linuksa, które uruchamiają. W przypadku LiveCD, aby zmodyfikować te parametry, po wybraniu języka, należy nacisnąć klawisze <F6>, a następnie <Esc>.

Casper bierze pod uwagę wszystkie podane parametry. Z drugiej strony, gdy system plików jest już ułożony w stos i gdy rozpoczyna się normalne ładowanie, Casper przekazuje kontrolę do programu init , dostarczając mu tylko parametry znajdujące się po - .

Parametry określające język i klawiaturę są wypełniane automatycznie przez bootloader obecny na LiveCD, z drugiej strony poniższe parametry należy wprowadzić ręcznie lub w pliku konfiguracyjnym w przypadku uruchomienia innego niż oficjalna płyta CD ( na przykład w USB):

  • showmounts umożliwia wyświetlanie stosu systemów plików.
  • noprompt unika żądania wysunięcia dysku CD-ROM, gdy system jest zamykany.
  • trwałe wyzwalacze, w zależności od znalezionych partycji lub plików, jeden z trwałych trybów pracy.
  • debugowanie umożliwia zapisanie szczegółów rozruchu w dwóch plikach. Pierwszy to /dev/.initramfs/initramfs.debug , dotyczy faz uruchamiania wspólnych dla wszystkich systemów Ubuntu, a drugi /var/log/casper.log dotyczy faz specyficznych dla casper.
  • break pozwala na zaznaczenie czasu przerwy (domyślnie podczas fazy init-premount ), podczas którego otwierana jest sesja powłoki umożliwiająca szczegółowe zbadanie sytuacji.
  • iso-scan / filename = / myImageFile.iso pozwala zażądać użycia pliku /myImageFile.iso tak, jakby to był dysk CD-ROM z Ubuntu
  • toram rozpoczyna ponowne kopiowanie w pamięci całego systemu plików. Kopiowanie zajmuje trochę czasu, ale później operacja może być bardzo szybka, a napęd CD-ROM staje się dostępny do innego użytku. Aby korzystać z tego urządzenia, potrzebujesz komputera z wystarczającą ilością pamięci RAM , 1 Giga wydaje się minimum (dla informacji normalny CD-ROM zajmuje około 700 megapikseli).

Zauważ, że nie ma sposobu, aby wniosek niestandardowych wyszukiwań następującymi nazwami, które są egzekwowane: Casper , Casper-RW , home-RW , Casper-SN , home-SN , jak również dla * .squashfs przyrostków , * .dir , * .ext2 , * .cpio.gz . Nie możesz również ograniczyć wyszukiwania do danej partycji.

  • W przypadku zastosowania zaawansowanego możliwa jest modyfikacja prawie wszystkich faz uruchamiania bez konieczności odtwarzania spersonalizowanej LiveCD dzięki parametrowi debian-installer / custom-installation = / myCustomDossier
Możliwe interwencje podczas przygotowań do uruchomienia

((( ciąg dalszy nastąpi)))

Rozpoczynanie szczegółowego Live CD krok po kroku

Pierwsza faza, wspólna dla wszystkich trybów rozruchu Ubuntu

  • Jądro Linuksa uruchamia powłokę skryptu / init znajdującą się na initrd.gz
  • Zmienne są wyceniane według. /conf/initramfs.conf i. conf / conf.d / *
  • Funkcje ogólnego przeznaczenia są definiowane przez. / skrypty / funkcje
  • / Proc / cmdline jest analizowany tak, aby używał parametrów tam podanych. Wartość boot = xxx jest istotna: parametr xxx służy do zdefiniowania zmiennej globalnej BOOT. Istnieją trzy zwykłe wartości lokalne , nfs i casper , przy czym ta ostatnia wartość jest wartością LiveCD, wyzwalanie trybu LiveCD jest zatem wykonywane przez parametr boot = casper przekazany jądru Linuksa przez program ładujący .
  • depmod -a
  • eksportuj BOOT
  • . / scripts / init-top / *, które decydują o wymianie pamięci, jeśli jest mniej niż 512M pamięci RAM i które naprawiają działanie klawiatury.
  • Wykonanie funkcji load_modules, która ładuje wszystkie moduły, których nazwa znajduje się w pliku / conf / module (jedna linia na moduł: jego nazwa, po której następują parametry ładowania), z wyjątkiem tych, które są przekazywane przez parametr blacklist = w / proc / cmdline
  • . / scripts / init-premount / *
  • . / scripts / $ {BOOT} (w przypadku live CD jest to / scripts / casper). Ten skrypt definiuje funkcję mountroot odpowiedzialną za montowanie głównego systemu plików. W przypadku systemu lokalnego jest to całkiem proste, ale w przypadku systemu Live jest dużo do zrobienia.
  • wykonanie funkcji mountroot zdefiniowanej w poprzednim skrypcie

Druga faza, specyficzna dla Ubuntu Live

  • Zmienne są wyceniane według. /etc/casper.conf
  • Funkcje są definiowane przez. / scripts / casper-helpers
  • Sprawdzany jest / proc / cmdline. Niezbędny parametr utrzymuje się .
  • . / scripts / casper-premount / *
Faza Casper-premount
  • Możliwość włożenia płyty CD-ROM, jeśli podano parametr debian-installer / driver-update = true. Ten dysk CD służy do kopiowania pakietów w / tmp / driver-updates odpowiadających architekturze maszyny.
  • Jeśli przekazaliśmy parametr iso-scan / filename = nom_image.iso, wszystkie dyski są sprawdzane w celu znalezienia pierwszego, który zawiera w swoim katalogu głównym plik nom_image.iso (normalnie jest to obraz .iso dysku CD -ROM)
Faza personalizacji

Jeśli spędziliśmy parametr debian-installer / zamówienie instalacyjny = nazwa katalogu wszystkie płyty są badane, aby znaleźć pierwszą, która zawiera katalog główny nazwę katalogu . Jeśli Casper ją znalazł,

  • zawartość tego katalogu jest kopiowana do folderu / custom-installation
  • z wyjątkiem zawartości podkatalogu initrd-override, który jest kopiowany do katalogu głównego systemu plików, umożliwiając w ten sposób nadpisanie tych, które chce się zastąpić
  • jeśli istnieje plik wykonywalny o nazwie hooks / casper-premount.sh, zostanie on wykonany.
Faza badań Case / Casper
  • Zestaw dysków jest sprawdzany pod kątem pierwszego, który zawiera katalog / casper w swoim katalogu głównym . To wyszukiwanie zaczyna się od image_name.iso . Folder musi zawierać co najmniej jeden plik kończący się na .squashfs , .ext2 lub .dir .
  • Kopia tego katalogu w pamięci; lub na dysku, jeśli zażądał tego parametr toram lub todisk
Systemy plików na etapie tworzenia
  • Zawartość folderu / casper jest zunifikowana przez aufs w trybie tylko do odczytu. Kolejność jest na górze, wszystkie foldery * .dir i wszystkie pliki * .squashfs, a następnie wszystkie pliki * .ext2 (są to pliki obrazów systemu plików ext2 ). W każdej kategorii kolejność jest odwrotna alfabetycznie: pierwsi w kolejności alfabetycznej są najniższymi w stosie utworzonym przez aufs .
  • Górna warstwa zrostu jest napisem lacture; ma na imię / krowa. Ogólnie będzie to system plików w pamięci zamontowany w tmpfs, do którego zostanie przydzielona co najwyżej połowa pamięci RAM ...
  • ... ale w obecności trwałego parametru rozruchu , casper będzie szukał pierwszego dysku, którego system plików ma etykietę casper-rw . W przeciwnym razie będzie szukał partycji vfat zawierającej w katalogu głównym plik obrazu casper-rw systemu plików.
Faza montowania trwałej partycji / home
  • W obecności trwałego parametru rozruchu , casper będzie szukał pierwszego dysku, którego system plików ma etykietę home-rw . W przeciwnym razie będzie szukał partycji vfat zawierającej w katalogu głównym plik obrazu home-rw systemu plików.
  • Pierwszy znaleziony, jeśli taki istnieje, zostanie zamontowany w / home .
Faza kopiowania migawki

Te zrzuty są migawkami partycje / krowę lub / home. W ten sposób umożliwiają przywrócenie systemu plików do stanu, w jakim się znajdował, gdy zostały pobrane.

  • Casper szuka dysku zawierającego w katalogu głównym plik casper -sn z rozszerzeniem .squashfs * .cpio.gz lub * .ext2. Pierwsza znaleziona zawartość jest kopiowana do / cow
  • To samo z home-sn , pierwszy znaleziony plik jest kopiowany do / home
  • Znalezione nazwy i lokalizacje są przechowywane na końcu pliku /etc/casper.conf, aby umożliwić tworzenie kopii zapasowych podczas zamykania systemu.
Faza dolna Caspera

Ostatnia faza, wspólna dla wszystkich trybów rozruchu Ubuntu

Tworzenie niestandardowych skryptów startowych Live CD

Aby zobaczyć także

Linki zewnętrzne