Alles ok: Im Filesystem initrd.img steht File1'\0' als Name. 5 Characters werden kopiert.
Problem: Hinter File1 ist das '\0' weg (Ursache momentan unklar, kommt vom PC, da es von gleicher Disk bei einem PC klappt, beim anderen nicht). Dadurch wird solange kopiert, bis der statische Buffer des Ziels überschrieben wird (im konkreten fall 128 Byte). Mit strncpy kann man das auf 64 (höchste zulässige Zahl im initrd-Filesystem fest begrenzen. Man kann beim Erstellen des Filesystems aber auch 5 mit rein schreiben, also nicht nur filename, offset, size, sondern filename, filename-length, offset, size. Dann kann man strncpy(dest, filename-length, src) machen, nachdem man filename-length vorher auf <=64 abgefragt hat. Dann werden sinnlose Zeichen abgeschnitten.
Dir Ursache für das Fehlverhalten ist mir leider noch unbekannt. Ich weiß durch Prints (auch in strcpy) bisher nur die Stelle, an der es sich auswirkt, und kann das dort nun bekämpfen. Bisher kam es zum Anhalten durch unverständliche #PF.