diff options
author | Sam Leffler <sam@FreeBSD.org> | 2006-03-08 18:02:32 +0000 |
---|---|---|
committer | Sam Leffler <sam@FreeBSD.org> | 2006-03-08 18:02:32 +0000 |
commit | 9fe7600bbec57a4de3ba70f6cb9027b5182e43d2 (patch) | |
tree | 87198eeaccc5a4734146e5e9aa6881c4854232fe /usr.sbin/sade/sade.h | |
parent | 846bc8c6f4bc6fcaa1767b2512beb19b17ea5ef0 (diff) | |
download | src-9fe7600bbec57a4de3ba70f6cb9027b5182e43d2.tar.gz src-9fe7600bbec57a4de3ba70f6cb9027b5182e43d2.zip |
Revamp base system packaging of kernels to enable up/smp selection
at runtime and to support distributing additional kernels:
o remove kernel from the base tarball
o add new kernel tarballs
o build + package both SMP and GENERIC kernels when an <arch>/conf/SMP
config file is present
o add sysinstall support for multiple kernels
o update sysinstall to probe for the number of cpus on a system
and auto-select smp/up kernel accordingly
o add a post-kernels install hook to fixup /boot/kernel
o add -ldevinfo to boot crunch for sysinstall's cpu probing logic
Notes:
1. On HEAD this code is not currently used because GENERIC kernels
include SMP. This work is mainly intended for RELENG_6 where the
GENERIC kernel is UP. If HEAD changes to match then just enable
WITH_SMP in sysinstall/Makefile.
2. The cpu probing support is done with acpi and MPTable; this means
some systems will require work for auto-detection to work.
3. The handling of /boot/kernel may need to be revisited; for now
we rename one kernel at the last moment (SMP if installed, otherwise
GENERIC). There are other, possibly better, approaches.
Lots of help from ru, emaste, scottl, and jhb.
Notes
Notes:
svn path=/head/; revision=156436
Diffstat (limited to 'usr.sbin/sade/sade.h')
-rw-r--r-- | usr.sbin/sade/sade.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h index 994039223566..6e4d09675c8f 100644 --- a/usr.sbin/sade/sade.h +++ b/usr.sbin/sade/sade.h @@ -107,6 +107,7 @@ #define VAR_DIST_MAIN "distMain" #define VAR_DIST_SRC "distSRC" #define VAR_DIST_X11 "distX11" +#define VAR_DIST_KERNEL "distKernel" #define VAR_DEDICATE_DISK "dedicateDisk" #define VAR_DOMAINNAME "domainname" #define VAR_EDITOR "editor" @@ -147,6 +148,7 @@ #define VAR_MOUSED_PORT "moused_port" #define VAR_MOUSED_TYPE "moused_type" #define VAR_NAMESERVER "nameserver" +#define VAR_NCPUS "ncpus" #define VAR_NETINTERACTIVE "netInteractive" #define VAR_NETMASK "netmask" #define VAR_NETWORK_DEVICE "netDev" @@ -421,6 +423,7 @@ extern Device *mediaDevice; /* Where we're getting our distribution from */ extern unsigned int Dists; /* Which distributions we want */ extern unsigned int SrcDists; /* Which src distributions we want */ extern unsigned int XOrgDists; /* Which X.Org dists we want */ +extern unsigned int KernelDists; /* Which kernel dists we want */ extern int BootMgr; /* Which boot manager to use */ extern int StatusLine; /* Where to print our status messages */ extern DMenu MenuCountry; /* Country menu */ @@ -470,6 +473,7 @@ extern DMenu MenuDistributions; /* Distribution menu */ extern DMenu MenuDiskDevices; /* Disk type devices */ extern DMenu MenuSubDistributions; /* Custom distribution menu */ extern DMenu MenuSrcDistributions; /* Source distribution menu */ +extern DMenu MenuKernelDistributions;/* Kernel distribution menu */ extern DMenu MenuXOrg; /* X.Org main menu */ extern DMenu MenuXOrgSelect; /* X.Org distribution selection menu */ extern DMenu MenuXOrgSelectCore; /* X.Org core distribution menu */ @@ -482,6 +486,7 @@ extern DMenu MenuFixit; /* Fixit floppy/CDROM/shell menu */ extern DMenu MenuXOrgConfig; /* Select X.Org configuration tool */ extern int FixItMode; /* FixItMode starts shell onc urrent device (ie Serial port) */ extern const char * StartName; /* Which name we were started as */ +extern int NCpus; /* # cpus on machine */ /* Important chunks. */ extern Chunk *HomeChunk; @@ -500,6 +505,9 @@ extern void display_helpline(WINDOW *w, int y, int width); /*** Prototypes ***/ +/* acpi.c */ +extern int acpi_detect(void); + /* anonFTP.c */ extern int configAnonFTP(dialogMenuItem *self); @@ -606,6 +614,7 @@ extern int distSetMinimum(dialogMenuItem *self); extern int distSetEverything(dialogMenuItem *self); extern int distSetSrc(dialogMenuItem *self); extern int distSetXOrg(dialogMenuItem *self); +extern int distSetKernel(dialogMenuItem *self); extern int distExtractAll(dialogMenuItem *self); /* dmenu.c */ @@ -683,6 +692,7 @@ extern int installFixitHoloShell(dialogMenuItem *self); extern int installFixitCDROM(dialogMenuItem *self); extern int installFixitFloppy(dialogMenuItem *self); extern int installFixupBase(dialogMenuItem *self); +extern int installFixupKernel(dialogMenuItem *self, int dists); extern int installUpgrade(dialogMenuItem *self); extern int installFilesystems(dialogMenuItem *self); extern int installVarDefaults(dialogMenuItem *self); @@ -785,6 +795,9 @@ extern int mousedTest(dialogMenuItem *self); extern int mousedDisable(dialogMenuItem *self); extern int setMouseFlags(dialogMenuItem *self); +/* mptable.c */ +extern int biosmptable_detect(void); + /* msg.c */ extern Boolean isDebug(void); extern void msgInfo(char *fmt, ...) __printf0like(1, 2); |