DragonFly kernel List (threaded) for 2007-08
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: vkernel, vkd and vcd boot order
On Sun, Aug 19, 2007 at 05:13:18PM -0700, Matthew Dillon wrote:
> Not bad. How would you like to do it a slightly different way? Instead
> of adding a new option, patch the program so it does what the man page
> originally thought it did. Just detect which option (-r or -c) is
> specified first with a little logic in the code and implement your -b
> equivalent internally.
>
> -Matt
Good idea, it should do what the man page says.
So it will. :)
--
Clement Martin
--- init.c.orig 2007-08-19 18:46:53.000000000 +0200
+++ init.c 2007-08-20 04:03:30.000000000 +0200
@@ -138,6 +138,7 @@
int netifFileNum = 0;
int diskFileNum = 0;
int cdFileNum = 0;
+ int bootOnDisk = 0;
int c;
int i;
int n;
@@ -198,6 +199,8 @@
case 'r':
if (diskFileNum + cdFileNum < VKDISK_MAX)
diskFile[diskFileNum++] = strdup(optarg);
+ if (cdFileNum == 0)
+ bootOnDisk = 1;
break;
case 'c':
if (diskFileNum + cdFileNum < VKDISK_MAX)
@@ -284,8 +287,13 @@
init_vkernel();
setrealcpu();
init_kqueue();
- init_disk(diskFile, diskFileNum, VKD_DISK);
- init_disk(cdFile, cdFileNum, VKD_CD);
+ if(bootOnDisk == 1) {
+ init_disk(cdFile, cdFileNum, VKD_CD);
+ init_disk(diskFile, diskFileNum, VKD_DISK);
+ } else {
+ init_disk(diskFile, diskFileNum, VKD_DISK);
+ init_disk(cdFile, cdFileNum, VKD_CD);
+ }
init_netif(netifFile, netifFileNum);
init_exceptions();
mi_startup();
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]