Depmod failure after remasters

Booting, installing, newbie
Post Reply
Message
Author
ozsouth
Posts: 858
Joined: Fri 01 Jan 2010, 22:08
Location: S.E Australia

Depmod failure after remasters

#1 Post by ozsouth »

Upon remastering several slacko & tahr puppies, had depmod fail. Code in /etc/rc.d/rc.sysinit checks for duplicates (about line 250), at ref: #101012
Files modules.builtin & modules.order, appear in /etc/modules. Unless they also appear in /lib/modules/(kernel version) folder, depmod fails.
Fix: inserted a line prior to ref #101012 in /etc/rc.d/rc.sysinit to symlink those on startup.

ln -s /etc/modules/modules.* /lib/modules/${KERNVER}/

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#2 Post by Karl Godt »

Files modules.builtin & modules.order, appear in /etc/modules.
That is new.
Must be the woof build scripts, that place them in /etc/modules and not where they usually belong ( /lib/modules/$KERNELVER/ ) .

remasterpup2 has code in regards to zdrv.x.y.z.sfs, that excludes /lib/modules/*/modules.* files

Code: Select all

ANOTHER_REMOVE="/lib/modules/$KERNELVER/initrd /lib/modules/*/modules.*"	# 28dec09 modules.*
if [ "$MKZDRV" = "yes" ]; then
  rm -f $WKGMNTPT/puppylivecdbuild/$ZDRVSFS 2> /dev/null
  mksquashfs /lib $WKGMNTPT/puppylivecdbuild/$ZDRVSFS -keep-as-directory -e /lib/[^m]* $ANOTHER_REMOVE
  ANOTHER_REMOVE="/lib/modules"
fi
And current puppies are configured with separate kernel driver zdrv.sfs .


Older remasterpup2 pre-Dec2009 code looked as this:

Code: Select all

#w482 shinobar: exclude /lib/modules/${KERNELVER}/initrd...
INITRDMODS=""
[ -d /lib/modules/${KERNELVER}/initrd ] && INITRDMODS="/lib/modules/${KERNELVER}/initrd" #v431
mksquashfs / $WKGMNTPT/puppylivecdbuild/${DISTRO_FILE_PREFIX}-${DISTRO_VERSION}.sfs -e /etc /proc /initrd /var /tmp /archive /mnt /root /puppylivecdbuild $DIRHOME $DIRSYS $DIRLOST /${DISTRO_FILE_PREFIX}-${DISTRO_VERSION}.sfs ${INITRDMODS}
sync
My guess is that excluding /lib/modules/*/modules.* relies on that these files get copied later, but this copying may fail
either because of aufs file-system whiteout files preventing them being read,
or using a separate zdrv.sfs is then left as is, without updating it later.

These are definitly bugs in remasterpup2 and woof2 build scripts and probably also
in the /init of the initrd.gz .
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#3 Post by Karl Godt »

Another change is that the file "modules.buildin" was first introduced around kernel 2.6.34 - at least that is the first one i have spotted it -
( Note Puppy Lupy-5.x.y was using kernel 2.6.33.2 ) -
and depmod never needed that file to work properly,
but the module-init-tools changed to become a mult-call-binary "kmod"
and that may need them now.

I am not fond of "kmod" since the "-l" option to modprobe was dropped.
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

HerrBert
Posts: 152
Joined: Thu 03 Nov 2016, 15:11
Location: NRW, Germany

remastering slacko64_6.3.2

#4 Post by HerrBert »

I had a similar issue after remastering slacko64_6.3.2.
I downloaded and installed the latest patches from Slackware and wanted to have a clean, updated puppy, cause i don't use a savefile.
First thing i noticed was the size of the new created zdrv is significant smaller than the original zdrv.
When you look at their contents, they are completely different.

New zdrv has only:

Code: Select all

# find -maxdepth 3 -type d
.
./lib
./lib/modprobe.d
./lib/modules
./lib/modules/4.1.11
./lib/modules/all-firmware
Whereas original zdrv has:

Code: Select all

# find -maxdepth 3 -type d
.
./boot
./etc
./etc/default
./etc/modules
./lib
./lib/firmware
./lib/firmware/3com
(...cropped 46 dirs)
./lib/firmware/yamaha
./lib/modules
./lib/modules/4.1.11
./sbin
./usr
./usr/bin
./usr/lib64
./usr/share
./usr/share/man
I tried to boot with remastered puppy.sfs and original zdrv.sfs, but the modprobe:FATAL:-messages stay.

Then tried several other things (copying, linking) before, while and after remastering - nothing really satisfied.

Changed remasterpup2 to
1) use pristine zdrv from /initrd/pup_z
2) exclude existing files in zdrv from squash-function

This was fairly tricky and is of course done quick and dirty, but it did the job for me.

Post Reply