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: