[syslinux] OT: Question on running command from boot menu

Michael D. Setzer II mikes at kuentos.guam.net
Thu Jan 1 03:33:54 PST 2009


I have a project that disk imaging from a cd using isolinux and a dialog gui 
system, but some users want to setup systems to run automatically. Some 
can download the development kit, and built an image with a modified script, 
but others don't have the skills or resources. I've come up with a system that 
seems to work with both the isolinux.cfg or menu.lst with grub4dos and I 
believe regular grub as well.  The system adds a run=" " option to cmdline.

A simple option could just be run="fg4l ipaddress" which would download a 
script from ftp and run it. 

Below is a more complex option that runs multi-line command. Using \n didn't 
work, so came up with a method to use CR as a marker, and replacing it.

Single line from menu.lst used by grub4dos, but same works with 
isolinux.cfg.

kernel /linux/bz27.10 root=/dev/ram0 rw ramdisk_size=65536 run="e2fsck 
/dev/hda2CRmount /dev/hda2 /mnt/localCRlzop -d -c /mnt/local/d8new.lzo | 
ntfsclone -r --overwrite /dev/hda1 - CRumount /mnt/localCRsleep 5CRreboot"


The cd will the load the kernel, and the above line is in the /proc/cmdline file.
The user g4l automatically logs on, and this is at the beginning of the 
g4lmenu script to process the cmdline if anything in the run=" " exists.

### 12/31/20008 added to allow running command from grub
### add run="command line" to the grub line
### creates /tmp/runcmd to stop running twice.
### added sed CR filtering to allow multi-line commands
### run="command1CRcommand2CRcommand3"
if [ ! -s "/tmp/runcmd" ] ; then
  cat /proc/cmdline | grep run | cut -d\"  -f 2 | sed -e 's/CR/\n/g' >/tmp/runcmd;
  if [ -s /tmp/runcmd ] ; then
    sh /tmp/runcmd
    sleep 10;
  fi
fi


The above system does seem to work in my limited test, and it would be 
rather simple to modify the isolinux.cfg or other using isomaster or similar 
windows program.

Wondering if I am missing anything in this, or warnings that might need to be 
included.

Thanks.

+----------------------------------------------------------+
  Michael D. Setzer II -  Computer Science Instructor      
  Guam Community College  Computer Center                  
  mailto:mikes at kuentos.guam.net                            
  mailto:msetzerii at gmail.com
  http://www.guam.net/home/mikes
  Guam - Where America's Day Begins                        
+----------------------------------------------------------+

http://setiathome.berkeley.edu (Original)
Number of Seti Units Returned:  19,471
Processing time:  32 years, 290 days, 12 hours, 58 minutes
(Total Hours: 287,489)

BOINC at HOME CREDITS
SETI 7,122,242.9956 | EINSTEIN 2,218,390.1109 | ROSETTA 
736,835.9944




More information about the Syslinux mailing list