henesyinit from p9fce6d0435 years agoHistory
100 lines · 1.8 KB · Text
RawDownload
#!/bin/rc##  this file configures a boot program (/boot) for a kernel.#if(! ~ $#* 1){	echo usage: mkboot file >[1=2]	exit 1} cat <<'---'#include <u.h>#include <libc.h>#include "../boot/boot.h" Method	method[]={--- ##  configure all remote methods, i.e. all methods in the 'boot' section##  EXAMPLE#	boot#		incon#		9600#		19200#../port/mkextract boot 0 $* | awk '{	printf "	{ \""  "" $1 "\", "\	"config" $1 ", "\	"auth" $1 ", "\	"connect" $1 ", "	print fieldn(2) " },"	} 	func fieldn(n,	s,i)	{		s = $0		while (n > 1) {			sub(/^[ \t]*/, "", s)			if (substr(s, 1, 1) == "\"") {				sub(/^"[^\"]*"/, "", s)			} else {				sub(/^[^ \t]*/, "", s)			}			n--		}		sub(/^[ \t]*/, "", s)		if (substr(s, 1, 1) == "\"") {			i = index(substr(s, 2), "\"")			if (i > 0)				return substr(s, 1, i+1)			else				return s		} else {			sub(/[ \t].*/, "", s)			return s		}	}' cat <<'---'	{ 0 },};--- awk '	BEGIN	{ cpuflag = 0; bootprog = "boot"; bootdisk = "#w/sd0" }	$0 ~ "^boot" && $2=="cpu"\		{ cpuflag = 1 }	$0 ~ "^boot" && ($2=="bboot" || $2=="romboot" || $2=="dosboot")\		{ cpuflag = 1;  bootprog = $2; }	$0 ~ "^boot" && NF==3\		{ bootdisk = $3 }	END 	{ print "int cpuflag = " cpuflag ";"		  if(cpuflag)			print "void (*pword)(int, Method*) = key;"		  else			print "void (*pword)(int, Method*) = userpasswd;"		  print "char* bootdisk = \"" bootdisk "\";"		  print "extern void " bootprog "(int, char**);"		  print "void"		  print "main(int argc, char **argv)"		  print "{"		  print "\t" bootprog "(argc, argv);"		  print "}"		}' $1 ##  configure in a cache file system if a 'cfs.root' appears in the#  'misc' section#../port/mkextract misc 0 $* | awk '	BEGIN			{ cfs = 0 }	$1 == "cfs.root"	{ cfs = 1 }	END			{ if(cfs)					print "int (*cfs)(int) = cache;"				  else					print "int (*cfs)(int) = 0;"				}	'

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t