Quote:
Originally Posted by anjohn
1) I mean a bootable drive image. Our customers have industrial pcs and those boot systems on compact flash cards. They can get new images with a bootable partition on it from us when there are updates.
|
So actually you just need the filesystem, the partition table and a way to get this on the flash, right? In that case just install everything on a system. Then make a backup of the mbr and the filesystem. Then create some livecd which all gets this to the flash card. Maybe check out clonezilla live cd.
Quote:
Originally Posted by anjohn
2) I build the system with "buildroot" and marked the ext4 option and the option to use ext4 for ext2 and ext3 in the kernel configuration.
|
Okay so the kernel now is able to use the ext family of filesystem. More important is what the filesystem of your root filesystem is. That is definitely to be going into the kernel as well.
Quote:
Originally Posted by anjohn
3) I get a filesystem for example in a tar-File. There I can browse through the folders /boot , /dev and so on .....
There exists a file bzImage in /boot which is actually the kernel image.
I am currently using grub as bootloader. For installing grub you have to set the path to the kernel image in the root filesystem. I set /boot/bzImage.
|
grub needs a "root" device to know where it is to look out for the kernel and/or initrd. This is set with set root='(/dev/sd#,partitionnumber). Technicaly this is not needed but if you would give any path info to the kernel option you would have to state the root device as well.
So to actually boot a kernel grub only needs one line: linux (device)/boot/bzImage root=/dev/sd#
the root= here is the actuall path of the device that holds your root filesystem. It could also be given using UUID syntax.
Quote:
Originally Posted by anjohn
I thought that you don't need to have initrd?
|
Actually you don't need an initrd as long as the kernel has all the features compiled into it that are needed to get the root file system up. That is y in kernel configuration and not m like in module.