did kopieren ohne windows

Wie blitze ich ein Bild - Permanent Outgoing Incomes
hede
Interessierter
Interessierter
Beiträge: 30
Registriert: Mittwoch 26. Mai 2004, 23:25

did kopieren ohne windows

Beitrag von hede »

hallo,
ich hab leider kein windows und hatte starke probleme nur mit linux und ohne größeres wissen auf eine box ohne original-bn-image ein fremdimage einzuspielen (müsste ja legal sein, schliesslich wurde die box bestimmt mal mit einem ausgeliefert).
das wiki (http://wiki.tuxbox-cvs.sourceforge.net/Betanova_flashen) zwingt einen ja zum benutzen des bootmanagers und sonst hab ich nix gefunden.
also hier mal wie ich es trotzdem gelöst hab (nicht ohne den bootmanager, halt nur ohne windows) (für alle, die betanova auf eine betanovalose box aufspielen möchten, kein windows haben und sich nicht besser mit linux auskennen als ich ;-):

vorbereitung:
erstmal ein passendes betanova flashen und aus dem image den kernel extrahieren und patchen. dies geht am besten mit dem bootmanager.
dieser läuft auch prima unter wine. zumindest was das kernel-extrahieren angeht! (beim patchen des kernels muss man noch beachten, dass man die datei os_gepatcht mit erweiterung speichert, z.b. os_gepatcht.bin, da bootmanager&wine sonst nicht miteinander klar kommen...

rarpd/nfs/dhcp/tftp funktionieren nicht.
dafür ist folgendes howto:

vorkehrungen am linux-pc:
nötige software: rarpd, dhcpd, tftp, nfs-utils, (minicom)
nötige dateien: os_gepatcht,
auszüge aus meinen configs:
in /etc/dhcp/dhcpd.conf:

Code: Alles auswählen

host dbox2 {
 hardware ethernet 00:50:9C:XX:XX:XX;
  fixed-address 192.168.1.45;
  filename "os_gepatcht";
  option root-path "/dbox2/cdkroot";
}
in /etc/ethers (für rarpd):

Code: Alles auswählen

00:50:9C:XX:XX:XX 192.168.1.45
in /etc/hosts

Code: Alles auswählen

192.168.1.45    dbox2
in /etc/xinetd.d/tftp:

Code: Alles auswählen

service tftp
{
         disable = no
         socket_type = dgram
         protocol = udp
         wait = yes
         user = root
         server = /usr/sbin/in.tftpd
         server_args = -s /dbox2/tftp
         only_from  = 192.168.1.0
}
... wer inetd verwendet, muss es entsprechend anders machen.
in /etc/exports:

Code: Alles auswählen

/dbox2/root  dbox2(rw,no_root_squash,sync)
dafür /dbox2, /dbox2/root, /dbox2/tftp erstellen
folgende datei in /dbox2/root: cp.class (vom bootmanager)
folgende datei in /dbox2/tftp: os_gepatcht (mit dem bootmanager erstellt)
eine .did erstellen mit dem did-generator. (eigene dsID wird beim booten im debugmode angezeigt. im display und auf dem terminal/minicom.)
diese .did muss in /dbox2/root

dann dhcpd, rarpd, xinetd, etc. und als letztes die box (re-)starten
falls ihr eine lahme netzwerkkarte habt und die box nicht vom netz booten möchte: erst die box per seriellem kabel mit dem pc verbinden, dann die box resetten (pfeil-nach-oben und power gleichzeitig drücken) und die pfeil-nach-oben-taste gedrückt lassen. dann müsst ihr über minicom (z.b. "minicom -o") "boot net" eingeben und schon startet die box vom netz. (wer stolzer besitzer eines terminals ist, kann auch dieses nutzen. mein vt330 hat leider den geist aufgegeben :-( --- )

nachdem die box gestartet ist, hängt sie bei "lade..."
nun über eine shell am pc folgenden befehl ausführen:

Code: Alles auswählen

rsh dbox2 mount
daraufhin müsste die box

Code: Alles auswählen

C_INIT:
    root_device mount on /    (flfs)
melden. wenn nicht, stimmt was mit dem kernel nicht... besser hier abbrechen... (etwas geduld, es kann schonmal etwas dauern. eine minute sollte man der box geben)
wenn die ausgabe stimmt, fortfahren:
(achtung: diese forum bricht die zeilen vielleicht um, jeder befehl fängt mit "rsh dbox2" an!!
z.b. rsh dbox2 setenv LD_LIBRARY_PATH root/platform/li[...])

Code: Alles auswählen

rsh dbox2 setenv PATH /root/platform/bin:/root/bin:/usr/bin:/usr/siege/bin:/mnt/bin
rsh dbox2 setenv TZ MET-01METDST-02,J84,J302
rsh dbox2 setenv LD_LIBRARY_PATH /root/platform/lib:/root/lib:/usr/lib:/root/platform/mpc8xx-dbox2/lib:/root/platform/nokia-dbox2/lib
rsh dbox2 setenv SIEGEHOME /usr/siege
rsh dbox2 setenv CLASSPATH /usr/siege/lib/siege.jar:/usr/siege/lib/junior.jar:.:/lost+found/
rsh dbox2 mount %host_ip%:%nfsroot% /lost+found
rsh dbox2 arun siegep cp /lost+found/.did /var/upgrade/.did
es dürfen keine fehler auftreten, z.b. keine "exception in main". wenn doch, dann ist eure box nicht kompatibel zum geladenen kernel (os_gepatcht)
danach könnt ihr die box mit:
"rsh dbox2 reboot"
rebooten.
FERTIG!

fehler (die ich alle schonmal hatte ;-):

bei

Code: Alles auswählen

debug: Transmitting BOOTP request via broadcast
debug: Given up BOOTP/TFTP boot
boot net failed
funktioniert der dhcpd nicht
wenn:

Code: Alles auswählen

debug: Sending TFTP-request for file os_gepatcht
TFTP failed, giving up...
kommt, dann stimmt was mit tftpd nicht.
wenn bei "rsh dbox2 mount"

Code: Alles auswählen

dbox2: No route to host
kommt, stimmt etwas mit dem rarpd nicht.

ich möchte das WIKI nicht eigenmächtig ändern. v.a. da ich ja nicht auf den bootmanager verzichte und dies hier kein richtiges howto ist und vielleicht nicht vollständig ist und gewiss fehler enthält und... usw... wer's besser weiss, darf mich gerne korrigieren oder für ein eigenes howto verwenden.