[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#538265: Add disable netcfg preseed option



Package: netcfg
Version: 1.46
Severity: wishlist
Tags: lenny

I have a situation where I want to use a single, custom debian installer initrd, but want to preseed network configuration differences between production cdrom and development netboot installers.

The systems in the field should not have networking enabled at all. With the stock Lenny installer, on systems with wireless cards and no proprietary firmware blobs, you get scary red error screens during the install complaining about network errors. If you add the firmware blobs to the d-i just to shut up the errors, and if the hardware switch is turned off, you again get scary red error screens about network errors.

I don't want *any* networking on the cdrom installs, but I also want to use a consistent initrd between development and production to avoid possible bugs from using different installers.

Enter this patch. It allows me to optionally disable network configuration completely via preseed on the cdrom install, but leaves the default to enabled for netboot. The attached patch may be a horrible, ugly hack based on the d-i design, but it works for me. If you don't like this patch, can you add a similar capability going forward?
Thanks!

Tony

diff -urN netcfg-1.46.orig/debian/netcfg-common.templates netcfg-1.46/debian/netcfg-common.templates
--- netcfg-1.46.orig/debian/netcfg-common.templates	2008-08-09 19:34:13.000000000 +0000
+++ netcfg-1.46/debian/netcfg-common.templates	2009-07-24 15:27:30.000000000 +0000
@@ -1,3 +1,12 @@
+Template: netcfg/enable_netcfg
+Type: boolean
+Default: true
+# :sl1:
+_Description: Enable network configuration during Install?
+ This option can be preseeded for cdrom installs and will cause the
+ installer to ignore any network configurations. Note that after the
+ install, the user must manually configure any networking options.
+
 Template: netcfg/use_dhcp
 Type: boolean
 Default: true
Binary files netcfg-1.46.orig/debian/.netcfg-common.templates.swp and netcfg-1.46/debian/.netcfg-common.templates.swp differ
diff -urN netcfg-1.46.orig/netcfg.c netcfg-1.46/netcfg.c
--- netcfg-1.46.orig/netcfg.c	2008-08-09 19:34:15.000000000 +0000
+++ netcfg-1.46/netcfg.c	2009-07-24 15:33:28.000000000 +0000
@@ -78,6 +78,12 @@
     /* initialize debconf */
     client = debconfclient_new();
     debconf_capb(client, "backup");
+
+    /* Check to see if netcfg should be run at all */
+    debconf_get(client, "netcfg/enable_netcfg");
+    if ( strcmp(client->value, "false") == 0 ) {
+        netcfg_write_loopback();
+        return 0;
+    }
     
     /* always always always default back to DHCP, unless you've specified
      * disable_dhcp on the command line. */

Reply to: