Tiny Core Linux
Tiny Core Extensions => TCE Q&A Forum => Topic started by: CentralWare on November 17, 2014, 06:57:00 AM
-
I have a VM running TC 4.7.7
I removed tce/optional and tce/onboot.lst and rebooted
As part of my start-up script I have a function which reinstalls any missing packages:
apps="e2fsprogs squashfs-tools-4.x dropbear dnsmasq nfs-utils mc"
for app in $apps
do
if [ ! -d /tmp/tcloop/$app ]; then
echo -n "${WHITE}Installing ${CYAN}$app${NORMAL}: "
su -c "tce-load -wi $app >/dev/null 2>/dev/null" tc
echo "${GREEN}Done.${NORMAL}"
fi
done
This process went through perfectly fine as it has dozens of times previously. The machine is set up as a development dns/dhcp/tftp server using dnsmasq. This functionality is working as expected. I went to fire up nfs-server (which I've done previously quite a few times) and have a new situation I haven't seen before:
sudo /usr/local/etc/init.d/dropbear start
echo "ALL: ALL" > /etc/hosts.allow
sudo /usr/local/etc/init.d/nfs-server start
exportfs -ra
touch /opt/.hosts
touch /opt/.leases
sudo dnsmasq
nfs-server start:
modprobe: module nfsd not found in modules.dep
nfs-server utilities are started.
rpc.statd and rpc.mountd are running in the background
exportfs -ra gives no complants
# exportfs
/tftp <world>
/etc/exports
/tftp *(rw,insecure,no_root_squash,fsid=0,anonuid=0,anongid=0,no_subtree_check,nohide)
/etc/hosts.allow
ALL: ALL
/tftp permissions
drwxrwsr-x 4 tc staff 120 Nov 14 16:51 tftp
# lsmod
Module Size Used by Tainted: P
mperf 12288 0
cpufreq_userspace 12288 0
cpufreq_powersave 12288 0
cpufreq_stats 12288 0
cpufreq_conservative 12288 0
squashfs 24576 15
scsi_wait_scan 12288 0
zcache 12288 0
zram 12288 1
loop 16384 30
ppdev 12288 0
parport_pc 24576 0
parport 24576 2 ppdev,parport_pc
pcnet32 24576 0
pcspkr 12288 0
ac 12288 0
I'm at a loss as to why nfsd is not supported?
EDIT: While writing this entry, I had a sneaky suspicion. In the list of apps noted above, I had removed a few (cifs and dos support along with a couple others since they weren't being used) and after looking at tcloop, I noticed "file systems" was no longerinstalled. I installed filesystems-3.0.21-tinycore.tcz (and its mtd dependency) and voila'... the error went away regarding the missing module, but now it's more a point of "How would I have known otherwise to install this as the forums don't seem to mention such a dependency and nfs itself doesn't look for it?" It may be worthwhile adding filesystems-KERNEL to the nfs-server script to prevent future confusion and headaches like it does for nfs-utils.
-
To be fair, the info file states it's required for server use, and that it's not a dep as the extension can be used for client-only too.
-
@Curaga: Thus my suggestion to add minor detection to /usr/local/etc/init.d/nfs-server as it would only apply to nfsd. I don't recall seeing the notation within nfs-utils.tcz.info when loading via tce-ab... but it doesn't mean it's not there somewhere.
start)
...
if [ ! -f /proc/fs/nfsd ]; then
echo "filesystems-$KERNEL is not installed"
exit 1;
fi
...
...that's my thinking at least?!
Within a modular environment (again, totally opinionated here) it would be my way of thinking that a multi-purpose item such as NFS support might "check itself" for things that apply only to a given feature, whereas it would list it in filename.tcz.dep only if it applied to all features. This could help cut debugging customizations tremendously... but again, that's just my thoughts.
I truly appreciate everyone's help and responses! Compared to other distros I've dealt with over the years, I'm actually fascinated over the TC model. I've had to build replacements for tc-load and the likes due to mix-n-match apps between x86 and x64 (though experimental using x86 under 64; ie: acpid hasn't yet been compiled under x64 so we're testing acpid x86.)
Once we're completed with all of the mods, I'll send along the modifications to see if the TCL staff can put them to use.
-
I'm totally ok with a check like that, but I'm not the author of the nfs-utils extension. Jason and Juanito seem to have updated it last.
-
I've had to build replacements for tc-load and the likes due to mix-n-match apps between x86 and x64 (though experimental using x86 under 64; ie: acpid hasn't yet been compiled under x64 so we're testing acpid x86.)
Please don't be shy - a 64-bit acpid extension would be gratefully received :)
Jason and Juanito seem to have updated it last.
tc-4.x nfs-utils extension updated
-
@Juanito: Thanks for the NFS update! As for ACPID x64, I'm about a week or so away from my TCL launch - as soon I have everything lit and working smoothly I'll look into ACPI for 8086x64 (I have to put together a dev VM for x64, but that shouldn't take much time.)
~TJ~
-
Hi, everyone!
I've installed nfs-utils.tcz on my core linux 5.4.
The filesystems-`uname -r`.tcz and mtd-`uname -r`.tcz are also been installed because I need to run nfs-server.
But when I run the nfs-server start script, "filesystems-KERNEL is not installed" comes out on the screen and exit.
I removed the check that centralware suggested above, then it worked well.
So is the check correct?
-
@Philip,
I have not gone through the updates to the launch script to see what's been implemented thus I haven't tested what in the repo, but just for kicks, run this from the shell and see if it tells you whether or not the packages needed are installed:
tce-load -wi nfs-utils filesystems-KERNEL
When using tce-load, you don't have to implement the additional calls to uname as it's already inside the tce script (and it helps prevent mishaps and typos from causing unnecessary headaches.)
I'll check on the repo script here when time permits and cross reference it with different releases to see where the flaw exists. Please indicate the kernel/release you are using by pasting the following into TC:
echo `uname -a; cat /usr/share/doc/tc/release.txt`
Please bare in mind that we run on our own mirror of TC; I'll have to update my 5.x mirror to get the revisions that were made which may take a bit.
In the meantime, if you don't mind being helpful, please create a test script and paste the following within it:
test.sh
#!/bin/sh
kver=`uname -r`
nfs_mnt=0; if [ -f /usr/local/sbin/mount.nfs ]; then nfs_mnt=1; fi
nfs_rpc=0; if [ -f /usr/local/sbin/rpc.nfsd ]; then nfs_rpc=1; fi
nfs_dmn=0; if [ -f /usr/local/lib/modules/$kver/kernel/fs/nfsd ]; then nfs_dmn=1; fi
nfd_mod=0; if [ -f /usr/local/lib/modules/$kver/kernel/fs/nfsd/nfsd.ko.gz ]; then nfd_mod=1; fi
nfs_mod=0; if [ -f /sys/module/nfs ]; then nfs_mod=1; fi
nfs_dbg=0; if [ -f /proc/sys/sunrpc/nfsd_debug ]; then nfs_dbg=1; fi
nfs_prc=0; if [ -f /proc/fs/nfsd ]; then nfs_prc=1; fi
echo "MNT: $nfs_mnt"
echo "RPC: $nfs_rpc"
echo "DMN: $nfs_dmn"
echo "NFD: $nfd_mod"
echo "NFS: $nfs_mod"
echo "DBG: $nfs_dbg"
echo "PRC: $nfs_prc"
With nfs-server running on your machine, run the script, it SHOULD give all answers as "1" (ie: MNT=1, RPC=1, etc) but something tells me that's not the case with the version you're running. If you can send the results back it would be appreciated (and would tell me where I need to look.)
-
@njustphillip The check is not correct because /proc/fs/nfsd is a directory, not a file.
@Juanito Please change /usr/local/etc/init.d/nfs-server to
if [ ! -d /proc/fs/nfsd ]; then
KERNEL=`uname -r`;
echo "filesystems-$KERNEL is not installed";
exit 1;
fi
Tested on 5.4.
-
corrected extension posted
-
Hi Juanito
The version posted in TC4 also contains -f and fails.
-
Corrected and re-posted - thanks