Add default iso to PXE menu and use custom preseed and kickstart

  • I have several custom iso images based in Ubuntu 12.04 that I need to install in embedded devices. The network cable is the only interface that I’ve got after the machines are boxed.

    These iso images use a preseed file to create partitions and add settings but the installation is not completely automatised and some user interaction is needed to choose keyboard, language and a couple of other things.

    I managed to add one of the isos to the PXE boot menu, but I got some problems:

    • I don’t have access to a keyboard to navigate the menu and select the iso

    • The iso didn’t use my preseed file

    • The lack of a keyboard stopped me from choosing the installation options (can I use a kickstart file in addition to the existing preseed)

    • The installation failed because Ubuntu was looking for the image mounted in /cdrom

    • Even if I managed to do it this way, I would have to change the PXE default menu every time I wan’t to install a different iso (this wouldn’t be a big problem)

    I was wondering if I’m taking the wrong approach here. It would be nicer for me if I could add the iso as an image and schedule an installation on the next boot. Maybe even have some commands to send to answer the questions asked during the installation.

    I’m new to FOG and I would appreciate if you could point me in the right direction.
    I also asked in askubuntu before I found this great project:

  • Thanks a lot for your help. I think I need to expend some time looking for the best solution here. I will update the thread with progress.

  • Moderator

    While this is no way a FOG issue so I’m not speaking here in a moderator role.

    I can see what (in a way) has to be done, and I can probably say FOG is not the right tool for this task. But a concept of what FOG does will help you.

    FOG has a component that gets loaded onto the target system via PXE. This is called the FOS (Fog OS) engine. This is a custom light and high performance version of linux that moves data between the FOG server and the target system. This is what you need to create, its kind of a light version of a live boot image (one might think you could hack the FOS engine to get what you need. You just need bzImage and the init for this project). The idea is to deliver this image to your target system using nay PXE boot environment. Then when this system boots, it will startup a ssh server so you can connect in remotely. You can do this with the FOS engine if you schedule a debug deployment, the issue with the FOS engine you must key in some stuff on the keyboard to enable the ssh connection. But back to the idea, once sshd is running on your target system you can connect to the target computer and then connect via NFS to your ISO store. Do a loop mount between the iso image and a mount point on your ultra lite linux image.