Czasem główny system plików jest zbyt duży, aby zmieścić się na dyskietce, nawet po kompresji. Poniżej podano kilka sposobów zmniejszenia rozmiaru systemu plików, uporządkowanych według efetywności:
Standardowo dyskietki są formatowane na 1440K, ale dostępne są formaty o większej gęstości. Program fdformat umożliwia formatowanie dyskietki na następujące wielkości: 1600, 1680, 1711, 1743, 1760, 1840 i 1920. Większość napędów 1440K obsługuje dyskietki 1722K, więc dla dyskietek startowych zawsze używam tego formatu. Zobacz stronę man fdformat oraz /usr/src/linux/Documentation/devices.txt.
Najbardziej populare powłoki dla Linuxa, takie jak
bash i tcsh, zajmują bardzo dużo miejsca i wymagają wielu
bibliotek. Istnieją jednak alternatywne powłoki, takie jak
ash, lsh, kiss czy smash, które są o wiele mniejsze i
wymagają mniej (lub żadnych) bibliotek. Większość tych zastępczych powłok
jest dostępna pod adresem
http://metalab.unc.edu/pub/Linux/system/shells/. Upewnij się, że
powłoka z której korzystasz potrafi wykonać wszystkie polecenia w plikach
rc na dyskietce.
Biblioteki i programy są często nieobcięte (zawierają symbole dla debuggera).
Taki plik po uruchomieniu na nim file będzie oznaczony jako `not
stripped'. Podczas kopiowania programów do głównego systemu plików dobrym
pomysłem jest korzystanie z polecenia:
objcopy --strip-all ŹRÓDŁO CEL
Gdy kopiujesz biblioteki, użyj:
objcopy --strip-debug ŹRÓDŁÓ CEL
Jeśli jakieś programy nie są wymagane do wystartowania systemu i zalogowania się, to możesz przenieść je na dyskietkę narzędziową. Szczegółów szkukaj w dziale Tworzenie dyskietki narzędziowej. Możesz także zastanowić się nad przeniesieniem modułów na dyskietkę narzędziową.
Dział Budowanie głównego systemu plików zawiera informacje na temat tworzenia skompresowanego głównego systemu plików, który po uruchomieniu systemu jest ładowany do ramdysku. Ta metoda posiada wiele zalet, więc jest często używana. Jednak niektóre systemy posiadają za mało pamięci RAM, w takich sytuacjach główny system plików może zostać zamontowany bezpośrednio, a nie kopiowany do ramdysku.
W sumie łatwiej stworzyć taki właśnie system plików niż skompresowany, ponieważ może on zostać zbudowany bezpośrednio na dyskietce, a nie na jakimś innym urządzeniu i nie musi on być kompresowany. Opiszemy tutaj ogólnie różnice w tworzeniu takiego właśnie systemu plików. Jeśli zdecydujesz się z niego korzystać, pamiętaj, że będziesz miał do dyspozycji o wiele mniej miejsca.
mke2fs utwórz na dyskietce główny system
plików o odpowiedniej wielkości.
rdev z
odpowiednimi parametrami.
Istnieje kilka dróg na skróty. Jeśli budujesz dwu-dyskietkowy zestaw, to możesz stworzyć kompletny system plików bezpośrednio na drugiej dyskietce, bez potrzeby przenoszenia go na twardy dysk i z powrotem. Jeśli budujesz pojedynczą dyskietkę startową/główną i korzystasz z LILO, to możesz zbudować jeden system plików na całej dyskietce, zawierający jądro, pliki LILO oraz pliki główne, a następnie uruchomić LILO jako ostatni krok.
Tworzenie dyskietki narzędziowej jest stosunkowo proste, wystarczy stworzyć system plików na sformatowanej dyskietce i skopiować do niego pliki. Aby korzystać z niej podczas używania dyskietki startowej, wystarczy zamontować ją ręcznie po uruchomieniu systemu.
We wcześniejszych rozdziałach wspomnieliśmy, że dyskietka narzędziowa
powinna zostać zamontowana w katalogu /usr. W tej systuacji
programy powinny być umieszczone w katalogu /bin dyskietki
narzędziowej, aby po zamontowaniu były dostępne pod ścieżką
/usr/bin. Dodatkowe biblioteki wymagane przez programy powinny
zostać umieszczone w katalogu /lib na dyskietce.
Istnieje kilka istotnych aspektów, o których należy pamiętać podczas projektowania dyskietki narzędziowej:
W Dodatku
Spis plików przykładowej dyskietki startowej możesz zobaczyć przykładowe pliki na dyskietce narzędziowej.
Oto kilka pomysłow na programy, które mogą okazać się przydatne: programy do
badania i manipulacji dyskami (format, fdisk) i systemami plików
(mke2fs, fsck, debugfs, isofs.o), mały edytor tekstów (elvis, jove),
narzędzia do kompresji i archiwizacji (gzip, tar, cpio, afio),
narzędzia do obsługi taśm (mt, tob, taper), narzędzia komunikacyjne
(ppp.o, slip.o, minicom) i narzędzia do obsługiu urządzeń
(setserial, mknod).