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