The Linux Bootdisk HOWTO: Składnie tego wszystkiego: tworzenie dyskietek.
Następna strona
Poprzednia strona
Spis treści
6. Składnie tego wszystkiego: tworzenie dyskietek.
W tym momencie powinieneś posiadać jądro oraz skompresowany główny system
plików. Jeśli tworzysz dyskietkę startową/główną, sprawdź, czy oba pliki
zmieszczą się na dyskietce. Jeśli tworzysz osobno dystkietkę startową i
główną, sprawdź, czy główny system plików zmieści się na jednej dyskietce.
Powinieneś zdecydować, czy używać LILO do wystartowania jądra. Alternatywnym
rozwiązaniem jest skopiowanie jądra bezpośrednio na dyskietkę i
wystartowanie bez LILO. Zaletą korzystania z LILO jest to, że
umożliwia on przekazanie pewnych parametrów do jądra które mogą być
konieczne do inicjalizacji sprzętu. Sprawdź plik
/etc/lilo.conf. Jeśli istnieje on i zawiera linię
``append=...'', prawdopodobnie musisz przekazać jakieś parametry. Wadą
korzystania z LILO jest to, że tworzenie dyskietki jest bardziej
skomplikowane, i zajmuje trochę więcej miejsca. Musisz utworzyć odrębny
system plików, który nazwiemy systemem plików jądra, do którego
skopiujesz jądro i kilka innych plików wymaganych przez LILO.
Jeśli zamierzasz korzystać z LILO, czytaj dalej. Jeśli chcesz skopiować
jądro bezpośrednio na dyskietkę, przejdź do działu
Przenoszenie jądra bez LILO.
6.1 Przenoszenie jądra z LILO.
Pierwszą rzeczą, która musisz zrobić, jest stworzenie małego pliku
konfiguracyjnego dla LILO. Powinien on wyglądać mniej więcej tak:
boot =/dev/fd0
install =/boot/boot.b
map =/boot/map
read-write
backup =/dev/null
compact
image = KERNEL
label = Bootdisk
root =/dev/fd0
Znaczenia tych parametrów szukaj w dokumentacji LILO. Prawdopodobnie
będziesz chciał również dodać do pliku linię append=... taką samą, jak
w pliku /etc/lilo.conf na dysku twardym.
Zapisz ten plik jako bdlilo.conf.
Następnie musisz stworzyć mały system plików, który nazwiemy
systemem plików jądra, aby odróżnić go od głównego systemu
plików.
Najpierw sprawdź, jak duży powinien być ten system plików. Weź rozmiar
twojego jądra w blokach (rozmiar pokazywany przez komendę ``ls -l
KERNEL'' podzielony przez 1024 i zaokrąglony w górę) i dodaj 50.
Około pięćdziesiąt bloków to obszar potrzebny na i-węzły oraz pozostałe
pliki. Jeśli chcesz, możesz dokładnie obliczyć ten obszar, lub po prostu
użyć liczby 50. Jeśli tworzysz osobno dyskietkę startową i główną, to możesz
spokojnie przeznaczyć nawet więcej miejsca, jako że pierwsza dyskietka jest
w całości przeznaczona na jądro. Nazwijmy tę liczbę BLOKI_JĄDRA.
Włóż dyskietkę do stacji dysków (przyjmiemy że jest nią
/dev/fd0) i utwórz na niej system plików ext2:
mke2fs -i 8192 -m 0 /dev/fd0 BLOKI_JĄDRA
Opcja ``-i 8192'' oznacza, że chcemy jeden inode co 8192 bajty.
Następnie zamontuj system plików, usuń katalog lost+found oraz utwórz
katalogi dev i boot dla LILO:
mount /dev/fd0 /mnt
rm -rf /mnt/lost+found
mkdir /mnt/{boot,dev}
Następnie utwórz urządzenia /dev/null i /dev/fd0.
Zamiast szukania ich numerów, możesz po prostu skopiować je z twardego dysku
używając opcji -R:
cp -R /dev/{null,fd0} /mnt/dev
LILO wymaga kopii swojego programu startującego, boot.b, który
możesz przegrać z twardego dysku. Zwykle znajduje się on w katalogu
/boot:
cp /boot/boot.b /mnt/boot
Na koniec skopiuj plik konfiguracyjny LILO który utworzyłeś poprzednio oraz
swoje jądro. Oba pliki mogą zostać umieszczone w głównym katalogu:
cp bdlilo.conf KERNEL /mnt
W tej chwili w systemie plików jądra znajduje się wszystko co potrzebne dla
LILO, więc jesteś teraz gotowy do uruchomienia go. Opcja -r oznacza
instalowanie programu startującego w katalogu innym niż główny:
lilo -v -C bdlilo.conf -r /mnt
LILO powinien zakończyć działanie bez żadnych błędów, następnie system
plików powinien wyglądać podobnie jak poniżej:
total 361
1 -rw-r--r-- 1 root root 176 Jan 10 07:22 bdlilo.conf
1 drwxr-xr-x 2 root root 1024 Jan 10 07:23 boot/
1 drwxr-xr-x 2 root root 1024 Jan 10 07:22 dev/
358 -rw-r--r-- 1 root root 362707 Jan 10 07:23 vmlinuz
boot:
total 8
4 -rw-r--r-- 1 root root 3708 Jan 10 07:22 boot.b
4 -rw------- 1 root root 3584 Jan 10 07:23 map
dev:
total 0
0 brw-r----- 1 root root 2, 0 Jan 10 07:22 fd0
0 crw-r--r-- 1 root root 1, 3 Jan 10 07:22 null
Nie przejmuj się, jeśli rozmiary plików sę nieco inne.
Następnie pozostaw dysk w napędzie i przenieś się do działu
Konfiguracja słowa ramdysku.
6.2 Przenoszenie jądra bez LILO.
Jeśli nie korzystasz z LILO, to skopiuj jądro na dyskietkę startową
używając komendy dd:
% dd if=KERNEL of=/dev/fd0 bs=1k
353+1 records in
353+1 records out
W tym przykładzie dd zapisał 353 kompletne rekordy oraz 1 niekompletny,
tak więc jądro zajmuje teraz pierwsze 353 bloki na dyskietce. Nazwij tę
liczbę BLOKI_JĄDRA i zapamiętaj ją, ponieważ będzie ona
potrzebna w następnym dziale.
Na koniec ustaw dyskietkę jako główne urządzenie i skonfigguruj je tak, aby
było dostępne do zapisu i odczytu:
rdev /dev/fd0 /dev/fd0
rdev -R /dev/fd0 0
Pamiętaj, aby użyć opcji -R pisanej wielką literą w drugiej komendzie
rdev.
6.3 Konfiguracja słowa ramdysku.
Wewnątrz obrazu jądra znajduje się słowo ramdysku, które
mówi, gdzie znajduje się główny system plików, oraz zawiera pewne inne opcje.
Słowo to można zmieniać za pomocą polecenia rdev, a interpretowane jest w
następujący sposób:
bity 0-10: Przemieszczenie ramdysku, w blokach 1024-bajtowych
bity 11-13: nieużywane
bit 14: Flaga oznaczająca, że ramdysk na zostać załadowany
bit 15: Flaga oznaczająca, aby pytać przez ładowaniem
głównego systemu plików
Jeśli bit 15 jest ustawiony, to podczas startu zostaniesz poproszony o
włożenie do napędu nowej dyskietki. Jest to konieczne w przypadku
korzystania z dwóch dyskietek.
Istnieją dwa przypadki, w zależności od tego, czy budujesz pojedynczą
dyskietkę startową/główną, czy dwie osobne dyskietki, startową i główną.
Jeśli budujesz system na jednej dyskietce, to skompresowany główny
system plików zostanie umieszczony zaraz za jądrem, więc przemieszczenie
ramdysku będzie następnym wolnym blokiem za jądrem (czyli powinno wymosić
tyle samo, ile BLOKI_JĄDRA). Bit 14 zostanie ustawiony na 1, a
bit 15 będzie wynosił zero.
Jeśli budujesz zestaw dwóch dyskietek, to główny system plików
rozpocznie się w bloku zero drugiej dyskietki, więc przemieszczenie będzie
wynosić zero. Bity 14 oraz 15 będą ustawione na 1.
Po skrupulatnych obliczniach wartości słowa ramdysku, ustaw ją poleceniem
rdev -r. Upewnij się, że podałeś wartość dziesiętną. Jeśli
korzystasz z LILO, to argumentem dla rdev powinna być ścieżka do
jądra, np. /mnt/vmlinuz. Jeśli kopiowałeś jądro za pomocą polecenia
dd, to użyj zamiast tego nazwę urządzenia stacji dysków (np.
/dev/fd0).
rdev -r JĄDRO_LUB_STACJA_DYSKÓW WARTOŚĆ
Jeśli korzystasz z LILO, odmontuj teraz dyskietkę.
6.4 Przenoszenie głównego systemu plików.
Ostatnim krokiem jest przeniesienie głównego systemu plików.
Jeśli główny system plików ma zostać umieszczony na tej samej
dyskietce co jądro, to przenieś go używając komendy dd z opcją
seek, która określa ile bloków należy przeskoczyć:
dd if=rootfs.gz of=/dev/fd0 bs=1k seek=BLOKI_JĄDRA
Jeśli system plików ma zostać umieszczony na drugiej dyskietce,
to wyjmij ze stacji pierwszą, włóż drugą a następnie przenieś na na nią
główny system plików:
dd if=rootfs.gz of=/dev/fd0 bs=1k
Moje gratulacje, dyskietki są już gotowe! Zawsze powninieneś przetestować
swoje dyskietki startowe zanim odłożysz je na bok do czasu awarii!
Jeśli coś się nie uda, czytaj dalej.
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
bootdisk howto pl 8bootdisk howto pl 13bootdisk howto pl 3bootdisk howto pl 7bootdisk howto pl 4bootdisk howto pl 10bootdisk howto pl 5bootdisk howto pl 9bootdisk howto pl 2bootdisk howto pl 11bootdisk howto plbootdisk howto plbootdisk howto pl 12bootdisk howto pl 14bootdisk howto pl 1PPP HOWTO pl 6 (2)NIS HOWTO pl 1 (2)cdrom howto pl 1jtz howto pl 5wiÄcej podobnych podstron