update_bootcfg script
. script to make neat menu entries for all /boot/minix/* dirs in /boot.cfg, read by new bootloader . invoked when new images are created
This commit is contained in:
		
							parent
							
								
									2fe8fb192f
								
							
						
					
					
						commit
						c9f65d5ae6
					
				| @ -6,7 +6,7 @@ FILES1=group hostname.file inet.conf motd.install mtab profile \ | ||||
| 	protocols rc services termcap ttytab utmp rc.cd  \
 | ||||
| 	syslog.conf rc.daemons.dist \
 | ||||
| 	rs.inet rs.single make.conf system.conf ttys resolv.conf rc.conf \
 | ||||
| 	rc.subr rc.subr.minix man.conf shells | ||||
| 	rc.subr rc.subr.minix man.conf shells boot.cfg.default | ||||
| 
 | ||||
| PWFILES=master.passwd | ||||
| FILES3=daily dhcptags.conf rc  | ||||
|  | ||||
							
								
								
									
										6
									
								
								etc/boot.cfg.default
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								etc/boot.cfg.default
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| clear=1 | ||||
| timeout=5 | ||||
| default=2 | ||||
| menu=Start MINIX 3:load_mods /boot/minix_default/mod*;multiboot /boot/minix_default/kernel rootdevname=$rootdevname | ||||
| menu=Start latest MINIX 3:load_mods /boot/minix_latest/mod*;multiboot /boot/minix_latest/kernel rootdevname=$rootdevname | ||||
| menu=Drop to boot prompt:prompt | ||||
| @ -95,6 +95,7 @@ hdboot: image | ||||
| 	cp kernel /boot/minix/.temp/ | ||||
| 	[ -d /boot/image ] && ln -f /boot/minix/.temp/kernel /boot/kernel || true | ||||
| 	exec sh mkboot $@ minix | ||||
| 	exec sh update_bootcfg.sh | ||||
| 
 | ||||
| fdboot:	image | ||||
| 	exec su root mkboot $@ | ||||
|  | ||||
							
								
								
									
										39
									
								
								tools/update_bootcfg.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								tools/update_bootcfg.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,39 @@ | ||||
| #!/bin/sh | ||||
| set -e | ||||
| 
 | ||||
| ROOT=`printroot -r` | ||||
| DEFAULTCFG=/etc/boot.cfg.default | ||||
| LOCALCFG=/etc/boot.cfg.local | ||||
| TMP=/boot.cfg.temp | ||||
| 
 | ||||
| if [ ! -b "$ROOT" ] | ||||
| then | ||||
| 	echo root device $ROOT not found | ||||
| 	exit 1 | ||||
| fi | ||||
| 
 | ||||
| rootdevname=`echo $ROOT | sed 's/\/dev\///'` | ||||
| 
 | ||||
| if [ -r $DEFAULTCFG ] | ||||
| then | ||||
| 	default_cfg=`cat $DEFAULTCFG` | ||||
| 	# Substitute variables like $rootdevname | ||||
| 	echo "$default_cfg" | while read line; do eval echo \"$line\" >> $TMP; done | ||||
| fi | ||||
| 
 | ||||
| latest=`basename \`stat -f "%Y" /boot/minix_latest\`` | ||||
| 
 | ||||
| for i in /boot/minix/* | ||||
| do | ||||
| 	build_name="`basename $i`" | ||||
| 	if [ "$build_name" != "$latest" ] | ||||
| 	then | ||||
| 		echo "menu=Start MINIX 3 ($build_name):load_mods $i/mod*;multiboot $i/kernel rootdevname=$rootdevname" >> /$TMP | ||||
| 	fi | ||||
| done | ||||
| 
 | ||||
| [ -r $LOCALCFG ] && cat $LOCALCFG >> $TMP | ||||
| 
 | ||||
| mv $TMP /boot.cfg | ||||
| 
 | ||||
| sync | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Evgeniy Ivanov
						Evgeniy Ivanov