While this is not a problem with CentOS I am hoping to solve the situation using a CentOS machine. For anyone not interested I am sorry to clutter your mail box. For everyone else any ideas or suggestions are welcome.
A bit of background:
We have an application that runs only in DOS 6.22 at the moment that we would like to run on all of our desktop computers each time they boot up. Our workstations are mostly Windows XP with some Linux.
Our goals:
We would like to be able to have the machines boot into DOS and run the application and then reboot to the normal hard drive. We would like to have it require no user intervention or as little as possible. We would also like to have it only run the app during the first boot up of the day.
Thoughts at the moment:
One idea we have at the moment is to create a PXE server with the DOS boot image on it. (I have done that before using Windows RIS but we are trying to avoid a windows Server as RIS is a bit of a pain and it prefers user interaction. It also would not fit well with our solution to have it only run once a day.) We could then run the application and inside the DOS image we could have it reboot the machine. We could then set the client machines to boot PXE as their first boot option. The next thought was to somehow watch the connections to the tftp server where the boot image will be kept and watch for the client IP then have the PXE server create a new firewall rule that would block access from that client to tftp. The thought there is that once the client has downloaded the boot image once it will run it and then on reboot will not be able to find the boot image and, I think, would fail at the pxe boot and move on to the next item in the boot list. Then every midnight the list of blocked IPs would be cleared and we start the process over again.
So any suggestions on the best way to take a bootable DOS disk and turn it into an image that a Linux based PXE server can serve, ways to monitor the tftp connections and then add them to the firewall after they have finished downloading the boot image, and any ideas on any better ideas would be appreciated.
Thanks for taking the time to read this.
Rob
On Thu, Jan 24, 2008 at 10:36:56AM -0500, Rob Lines enlightened us:
While this is not a problem with CentOS I am hoping to solve the situation using a CentOS machine. For anyone not interested I am sorry to clutter your mail box. For everyone else any ideas or suggestions are welcome.
A bit of background:
We have an application that runs only in DOS 6.22 at the moment that we would like to run on all of our desktop computers each time they boot up. Our workstations are mostly Windows XP with some Linux.
Our goals:
We would like to be able to have the machines boot into DOS and run the application and then reboot to the normal hard drive. We would like to have it require no user intervention or as little as possible. We would also like to have it only run the app during the first boot up of the day.
Thoughts at the moment:
One idea we have at the moment is to create a PXE server with the DOS boot image on it. (I have done that before using Windows RIS but we are trying to avoid a windows Server as RIS is a bit of a pain and it prefers user interaction. It also would not fit well with our solution to have it only run once a day.) We could then run the application and inside the DOS image we could have it reboot the machine. We could then set the client machines to boot PXE as their first boot option. The next thought was to somehow watch the connections to the tftp server where the boot image will be kept and watch for the client IP then have the PXE server create a new firewall rule that would block access from that client to tftp. The thought there is that once the client has downloaded the boot image once it will run it and then on reboot will not be able to find the boot image and, I think, would fail at the pxe boot and move on to the next item in the boot list. Then every midnight the list of blocked IPs would be cleared and we start the process over again.
So any suggestions on the best way to take a bootable DOS disk and turn it into an image that a Linux based PXE server can serve, ways to monitor the tftp connections and then add them to the firewall after they have finished downloading the boot image, and any ideas on any better ideas would be appreciated.
Thanks for taking the time to read this.
The firewall option seems to me to be the wrong way to do it. I would probably have the default pxelinux.cfg file do a localboot, then every morning have a script create the appropriate pxelinux config file for each mac/ip address which instead of doing a localboot does your dos boot disk. Running a job to scan the log files for clients that have run the dos program can then remove the specific file, causing subsequent reboots to go to the default file and local boot.
Seems better to me than having to wait for PXE to time out...
Matt
Grub is able to boot on a partition and set a new default one at next reboot. I use it to make a systematic reboot after a cold reboot, because my motherboard dont detect my second sata at first boot.
Or using the old way, just switch your default partition using parted or gpart or anything elese. I used this to make a copy of a win2000 partition to a tape drive or another partition from a linux partition. The initiation was done from the window that was changing the default boot partition before to init a reboot, and linux was reseting the original boot before to backup the partition and reboot.
Hope this will give you some idea.
On Jan 24, 2008 4:36 PM, Rob Lines rlinesseagate@gmail.com wrote:
While this is not a problem with CentOS I am hoping to solve the situation using a CentOS machine. For anyone not interested I am sorry to clutter your mail box. For everyone else any ideas or suggestions are welcome.
A bit of background:
We have an application that runs only in DOS 6.22 at the moment that we would like to run on all of our desktop computers each time they boot up. Our workstations are mostly Windows XP with some Linux.
Our goals:
We would like to be able to have the machines boot into DOS and run the application and then reboot to the normal hard drive. We would like to have it require no user intervention or as little as possible. We would also like to have it only run the app during the first boot up of the day.
Thoughts at the moment:
One idea we have at the moment is to create a PXE server with the DOS boot image on it. (I have done that before using Windows RIS but we are trying to avoid a windows Server as RIS is a bit of a pain and it prefers user interaction. It also would not fit well with our solution to have it only run once a day.) We could then run the application and inside the DOS image we could have it reboot the machine. We could then set the client machines to boot PXE as their first boot option. The next thought was to somehow watch the connections to the tftp server where the boot image will be kept and watch for the client IP then have the PXE server create a new firewall rule that would block access from that client to tftp. The thought there is that once the client has downloaded the boot image once it will run it and then on reboot will not be able to find the boot image and, I think, would fail at the pxe boot and move on to the next item in the boot list. Then every midnight the list of blocked IPs would be cleared and we start the process over again.
So any suggestions on the best way to take a bootable DOS disk and turn it into an image that a Linux based PXE server can serve, ways to monitor the tftp connections and then add them to the firewall after they have finished downloading the boot image, and any ideas on any better ideas would be appreciated.
Thanks for taking the time to read this.
Rob
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
On Thu, 24 Jan 2008 10:36:56 -0500 Rob Lines rlinesseagate@gmail.com wrote:
We would like to be able to have the machines boot into DOS and run the application and then reboot to the normal hard drive. We would like to have it require no user intervention or as little as possible. We would also like to have it only run the app during the first boot up of the day.
Have you considered using DOSEMU instead? Depending on exactly what it is that you're trying to accomplish, that might be a simpler approach.
On Thu, Jan 24, 2008 at 10:36:56AM -0500, Rob Lines alleged:
While this is not a problem with CentOS I am hoping to solve the situation using a CentOS machine. For anyone not interested I am sorry to clutter your mail box. For everyone else any ideas or suggestions are welcome.
A bit of background:
We have an application that runs only in DOS 6.22 at the moment that we would like to run on all of our desktop computers each time they boot up. Our workstations are mostly Windows XP with some Linux.
Our goals:
We would like to be able to have the machines boot into DOS and run the application and then reboot to the normal hard drive. We would like to have it require no user intervention or as little as possible. We would also like to have it only run the app during the first boot up of the day.
Sounds similar to how xCAT manages nodes in an HPC cluster when using local OS installs.
Nodes' BIOS are set to netboot first, and harddrive second. In the event of tftp/dhcp not functioning, the nodes will boot normally.
Scripts on the PXE server write PXE config files that cause the nodes to local boot (the common state), boot a kickstart installer, or any other misc boot image. DOS images are commonly used to configure BIOS and NVRAM.
The trick is getting a .bat script in the DOS image to run a command on the PXE server that eventually re-writes the PXE config file. One method is to use a tiny DOS tcp stack and ssh client (yes, this exists and works great). Another method is to connect to a daemon running on the PXE server. The former requires shell/bat scripting, the later requires some actual programming.