toltech
03-16-2004, 09:43 AM
L.S.,
The boot.img file works as follows:
syslinux boots, starts the kernel, loads the miniroot filesystem and the linuxrc script. At the end of the linuxrc script the actual init proces /etc/init is run and the party begins.
This is what happens if I replace the kernel (and I have seen numerous post of people having the same problem). I recompile the kernel, put the kernel in boot.img and reboot from this image:
syslinux boot, starts the kernel, loads miniroot.gz but ****does**** not start linuxrc. Because the compressed imagefile is not mounted, /etc/init can not be loaded which results in a kernel panic.
The ash which is supposed to run the linuxrc script is compatible with this kernel (i did not change the kernel version, and if i give as an init script init=/static/ash, ash is loaded and works fine including the use of mount and umount). Often you hear people saying you have to recompile ash, I don't believe that is the case (though I might be wrong).
What does Klaus Knopper do what I don't? I also noticed a "diff" between the kernel in the boot.img and the one in the compressed image. Leading me to believe you indeed have to do something special to get the trick done. If so, what is the trick?
kind regards,
Robert
P.s. I have tried recompiling with
make-kpkg --initrd --revision=custom.1.0 kernel_image modules
make-kpkg --revision=custom.1.0 kernel_image
(and everything else I could think of)
I used the xfs kernel sources of Klaus Knopper, and checked that the knoppix patch was executed by comparing the patch with the sources line by line: they matched.
The boot.img file works as follows:
syslinux boots, starts the kernel, loads the miniroot filesystem and the linuxrc script. At the end of the linuxrc script the actual init proces /etc/init is run and the party begins.
This is what happens if I replace the kernel (and I have seen numerous post of people having the same problem). I recompile the kernel, put the kernel in boot.img and reboot from this image:
syslinux boot, starts the kernel, loads miniroot.gz but ****does**** not start linuxrc. Because the compressed imagefile is not mounted, /etc/init can not be loaded which results in a kernel panic.
The ash which is supposed to run the linuxrc script is compatible with this kernel (i did not change the kernel version, and if i give as an init script init=/static/ash, ash is loaded and works fine including the use of mount and umount). Often you hear people saying you have to recompile ash, I don't believe that is the case (though I might be wrong).
What does Klaus Knopper do what I don't? I also noticed a "diff" between the kernel in the boot.img and the one in the compressed image. Leading me to believe you indeed have to do something special to get the trick done. If so, what is the trick?
kind regards,
Robert
P.s. I have tried recompiling with
make-kpkg --initrd --revision=custom.1.0 kernel_image modules
make-kpkg --revision=custom.1.0 kernel_image
(and everything else I could think of)
I used the xfs kernel sources of Klaus Knopper, and checked that the knoppix patch was executed by comparing the patch with the sources line by line: they matched.