initrd, mały shell, etc...
Michał Moskal
malekith w topnet.pl
Wto, 3 Paź 2000, 16:02:14 CEST
co do losetup:
mount foo /mnt/bar -o loop
działa równie dobrze co
losetup /dev/loop0 foo
mount /dev/loop0 /mnt/bar
Przynajmniej z mountem z PLD (mount-2.10m-4).
Kloczek sugerował mniejszy od /bin/ash.static shell do initrd, oto on:
<root w nirvana:10:13:RPMS># ls -l /bin/{,tr}ash*
-rwxr-xr-x 1 root root 77256 Dec 5 1999 /bin/ash*
-rwxr-xr-x 1 root root 276832 Oct 3 10:12 /bin/ash.static*
-rwxr-xr-x 1 root root 28660 Oct 3 09:44 /bin/trash*
<root w nirvana:10:13:RPMS># ldd /bin/{,tr}ash*
/bin/ash:
libc.so.6 => /lib/libc.so.6 (0x4001b000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
/bin/ash.static:
not a dynamic executable
/bin/trash:
not a dynamic executable
(chodzi oczywiście o ten trzeci ;)))
jest w pakiecie trash w repo.
napisałem go trzy miesiące temu (w czasie gdy miałem się uczyć do
matury ;) i co prawda nie jest jeszcze w pełni funkcjonalny, ale
wczoraj dodałem builtin echo i do ładowania modułów się nadaje...
przydałby się jeszcze builtin insmod, ale to ciężka sprawa,
bo rozmiar wynika z braku linkowania się z libc (tylko syscalle),
a insmod pewnie wymaga jakiś ansi/posix pierdół (typu printf ;)
w ogóle to do wstawiania modółów shell mógłby mieć 4k a nie 30,
zrobię kiedyś jakiegoś configa. bo w ogóle to chce napisać szybkie
(a przede wszystkim szybko - ładowalne) /bin/sh (pewnie kontrsukcje
sterujące shella (if,case,for,while etc.), przekierowania, subshelle (),
command& etc nie są w ładowaczu modółów potrzebne ;)
--
alias malekith michal\ moskal # GCS d-- s:-- a19 C++++$ UL+++ P++ L+++$
links http://malekith.topnet.pl # E--- W++(--) N o? K? w--(---) O-- M- V-
mail malekith w topnet.pl # PS+++(+) !PE Y++ PGP+ t 5? X R(+) tv--
irc -c#{k-k,pld,c,c++} # b++>+++ DI? D+ G++ e>+++ !h>+ r? y?
Więcej informacji o liście dyskusyjnej pld-devel-pl