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

Re: broken things with 2.2.6



Excuse me to ask a question.

Which version of modconf should I use to build boot-floppies locally ?

I found the codes in dbootstrap/baseconfig.c:

int configure_drivers (void) {
  struct stat statbuf;
  
  if (NAME_ISDIR("/lib/modules", &statbuf) ) {
    rename("/lib/modules", "/lib/modules.old");
  }
  unlink("/lib/modules");
  chdir("/lib");
  symlink("/target/lib/modules", "modules");

  boxSuspend();
  setenv("LANG", _("C"), 1);
  execlog("depmod -a", LOG_INFO);
  system("/target/usr/sbin/modconf "
         " --exclude-section pcmcia"
         " --target /target"
         " --run-shell cdromsymlink"
         " --libdir /tmp/drivers"
         " --helpdir /target/usr/share/modconf"
         " --tty /dev/console");

  boxResume();

  update_cdrom_symlink();

  chdir("/");
  return 0;
}

This is called from main_menu.c, and executed after
the extracting kernel and drivers, and before installing
the base system.

I use modconf_0.2.26.5 to build my boot-floppies, and
find the this configure_drivers() always stop at some error.

So I check the code in modconf_0.2.26, and it does not accept
 "--helpdir" option, and "--libdir" option should specify
the directry which includes eval and descr.gz.

       --libdir path
              Indicates where the eval and descr.gz files are  to
              be  found  on  the  system  (default: /usr/lib/mod-
              ule_help).  Do not include a trailing "/" after the
              directory name.

I found also main_menu.c has the lines:

        } else if ( (! NAME_ISREG("/target/vmlinuz",&statbuf) ) || 
                    (! NAME_ISREG(
                    "/target/usr/share/modconf/descr.gz",&statbuf) ) ) {
            /* The operating system kernel and the modules */
            /* have not been installed. */
            next_action=extract_kernel_and_modules;

but modconf_0.2.26.5 does not use /usr/share/modconf directory.
It use /usr/lib/module_help directory to store the eval_<LANG>,
eval_pl, and descr.gz

And I found that driverdisks.sh has the lines

info "moving from temporary area into $tartmp"
(cd $E && tar -cf modconf.tar \
        usr/bin/whiptail \
        sbin/update-modules \
        etc/modutils \
        usr/sbin/modconf \
        usr/share/modconf)

but usr/share/modconf is empty, so that modconf.tar does not
include this directory.

I think if we use modconf_0.26.5, then we should update
driverdisks.sh, utilities/dbootstrap/{main_menu.c,choose_medium.c,basecofig.c}.

The patch is attached below. If I was wrong, then please tell me
which version of modconf I should use. Thanks.

diff -ruN /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/driverdisks.sh ./driverdisks.sh
--- /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/driverdisks.sh	Sun Jan 30 07:59:29 2000
+++ ./driverdisks.sh	Fri Feb  4 03:41:35 2000
@@ -96,7 +96,7 @@
 	sbin/update-modules \
 	etc/modutils \
 	usr/sbin/modconf \
-	usr/share/modconf)
+	usr/lib/module_help)
 # FIXME: doesn't deal with tar errors in last cmd
 gzip -9f $E/modconf.tar
 cp $E/modconf.tar.gz $tartmp/modconf.tgz
diff -ruN /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/utilities/dbootstrap/baseconfig.c ./utilities/dbootstrap/baseconfig.c
--- /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/utilities/dbootstrap/baseconfig.c	Wed Feb  2 21:31:23 2000
+++ ./utilities/dbootstrap/baseconfig.c	Fri Feb  4 03:12:52 2000
@@ -371,8 +371,7 @@
 	 " --exclude-section pcmcia"
 	 " --target /target"
 	 " --run-shell cdromsymlink"
-	 " --libdir /tmp/drivers"
-	 " --helpdir /target/usr/share/modconf"
+	 " --libdir /target/usr/lib/module_help"
 	 " --tty /dev/console");
 
   boxResume();
diff -ruN /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/utilities/dbootstrap/choose_medium.c ./utilities/dbootstrap/choose_medium.c
--- /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/utilities/dbootstrap/choose_medium.c	Sun Jan 30 07:59:30 2000
+++ ./utilities/dbootstrap/choose_medium.c	Fri Feb  4 03:44:05 2000
@@ -594,6 +594,7 @@
 	snprintf(prtbuf, sizeof(prtbuf),
 		 "depmod -a ; /target/usr/sbin/modconf "
 		 " --restrict-section cdrom"
+		 " --libdir /target/usr/lib/module_help"
 		 " --target /target --run-shell cdromsymlink");
 	if (strncmp(real_kver, "2.0", 3)) {
 	    /* not on 2.0 kernels:
diff -ruN /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/utilities/dbootstrap/main_menu.c ./utilities/dbootstrap/main_menu.c
--- /Work/tmp/potato-make/chk/boot-floppies/cvs/boot-floppies/utilities/dbootstrap/main_menu.c	Wed Feb  2 21:31:23 2000
+++ ./utilities/dbootstrap/main_menu.c	Fri Feb  4 03:42:21 2000
@@ -281,7 +281,7 @@
 	    bufN=_("Mount a Previously-Initialized Partition");
 	} else if ( (! NAME_ISREG("/target/vmlinuz",&statbuf) ) || 
                     (! NAME_ISREG(
-		    "/target/usr/share/modconf/descr.gz",&statbuf) ) ) {
+		    "/target/usr/lib/module_help/descr.gz",&statbuf) ) ) {
             /* The operating system kernel and the modules */
             /* have not been installed. */
             next_action=extract_kernel_and_modules;


-- 
  Taketoshi Sano: <sano@debian.org>,<sano@debian.or.jp>,<kgh12351@nifty.ne.jp>


Reply to: