Tiny Core Extensions > TCE Q&A Forum

how can i use lldpctl and lldpd and lldpcli command in tincore version14

<< < (6/8) > >>

yimding:
i installed bash.tcz
then make

--- Code: ---tc@box:~/ice-1.16.3/src$ make install
common.mk:71: *** Kernel header files not in any of the expected locations.
common.mk:72: *** Install the appropriate kernel development package, e.g.
common.mk:73: *** kernel-devel, for building kernel modules and try again.  Stop.
tc@box:~/ice-1.16.3/src$ tce-load -wi linux-headers-$(uname -r).tcz
Downloading: linux-headers-6.1.2-tinycore64.tcz
Connecting to repo.tinycorelinux.net (128.127.66.77:80)
wget: server returned error: HTTP/1.1 404 Not Found
md5sum: linux-headers-6.1.2-tinycore64.tcz.md5.txt: No such file or directory
Error on linux-headers-6.1.2-tinycore64.tcz
tc@box:~/ice-1.16.3/src$

--- End code ---

how can i get linux-header?

Juanito:
As said, load the compiletc extension.

After that prepare the kernel source.

Juanito:
Something like this should prepare the kernel source:
--- Code: ---tce-load -i compiletc perl5 ncursesw-dev bc glibc_apps elfutils-dev

wget http://tinycorelinux.net/14.x/x86_64/release/src/kernel/linux-6.1.2-patched.txz
wget http://tinycorelinux.net/14.x/x86_64/release/src/kernel/Module.symvers-6.1.2-tinycore64.gz
wget http://tinycorelinux.net/14.x/x86_64/release/src/kernel/config-6.1.2-tinycore64

gunzip Module.symvers-6.1.2-tinycore64.gz
tar xf linux-6.1.2-patched.txz
cd linux-6.1.2

make mrproper
cp ../config-6.1.2-tinycore64 .config
make oldconfig
make prepare
make modules_prepare

mv ../Module.symvers-6.1.2-tinycore64 Module.symvers
make SUBDIRS=scripts/mod

--- End code ---

Juanito:
Once you have the tinycore kernel source prepared, you will need to make a symlink to the source.

If, for example the prepared source is at /usr/src/linux-6.1.2, then you need:
--- Code: ---sudo ln -s /usr/src/linux-6.1.2 /lib/modules/6.1.2-tinycore64/build
--- End code ---

After loading the coreutils extension you can compile ice-1.16.3:
--- Code: ---cd ice-1.16.3/src
make
--- End code ---

However, when I try with tc-16.x, the build fails with:
--- Code: ---/usr/src/ethernet-linux-ice/src/kcompat_gnss.c:224:27: error: 'no_llseek' undeclared here (not in a function); did you mean 'noop_llseek'?
  224 |         .llseek         = no_llseek,
      |                           ^~~~~~~~~
--- End code ---

Rich:
Hi Juanito
A search of the kernel source for no_llseek turned up this:

--- Code: ---tc@box:~$ grep -Ris "no_llseek" Downloads/linux-6.12.11/*
Downloads/linux-6.12.11/Documentation/filesystems/porting.rst:no_llseek is gone; don't set .llseek to that - just leave it NULL instead.
Downloads/linux-6.12.11/scripts/coccinelle/api/stream_open.cocci:@ has_no_llseek @
Downloads/linux-6.12.11/scripts/coccinelle/api/stream_open.cocci:@ maybe_stream depends on (!has_llseek || has_no_llseek || has_noop_llseek) && !has_mmap && !has_copy_file_range && !has_remap_file_range && !has_read_iter && !has_write_iter && !has_splice_read && !has_splice_write @
--- End code ---
So the documentation suggests it's gone.

A search of the kernel source for noop_llseek turned up this:

--- Code: ---Downloads/linux-6.12.11/fs/read_write.c: * able to perform the seek. In this case you use noop_llseek() instead of
Downloads/linux-6.12.11/fs/read_write.c:loff_t noop_llseek(struct file *file, loff_t offset, int whence)
Downloads/linux-6.12.11/fs/read_write.c:EXPORT_SYMBOL(noop_llseek);
Downloads/linux-6.12.11/fs/cachefiles/daemon.c: .llseek         = noop_llseek,
Downloads/linux-6.12.11/fs/dlm/plock.c: .llseek  = noop_llseek,
Downloads/linux-6.12.11/fs/dlm/user.c:  .llseek  = noop_llseek,
Downloads/linux-6.12.11/fs/dlm/user.c:  .llseek  = noop_llseek,
Downloads/linux-6.12.11/fs/dlm/user.c:  .llseek  = noop_llseek,
Downloads/linux-6.12.11/fs/coda/psdev.c:        .llseek         = noop_llseek,
Downloads/linux-6.12.11/fs/coda/pioctl.c:       .llseek         = noop_llseek,
Downloads/linux-6.12.11/fs/fuse/cuse.c: .llseek         = noop_llseek,
Downloads/linux-6.12.11/fs/eventpoll.c: .llseek         = noop_llseek,
Downloads/linux-6.12.11/fs/btrfs/super.c:       .llseek = noop_llseek,
Downloads/linux-6.12.11/fs/ecryptfs/miscdev.c:  .llseek  = noop_llseek,
Downloads/linux-6.12.11/fs/char_dev.c:  .llseek = noop_llseek,
Downloads/linux-6.12.11/include/drm/drm_accel.h:        .llseek         = noop_llseek, \
Downloads/linux-6.12.11/include/drm/drm_gem_dma_helper.h:               .llseek         = noop_llseek,\
Downloads/linux-6.12.11/include/drm/drm_gem.h:  .llseek         = noop_llseek,\
Downloads/linux-6.12.11/include/linux/fs.h:extern loff_t noop_llseek(struct file *file, loff_t offset, int whence);
Downloads/linux-6.12.11/ipc/shm.c:      .llseek         = noop_llseek,
Downloads/linux-6.12.11/ipc/shm.c:      .llseek         = noop_llseek,
Downloads/linux-6.12.11/kernel/trace/blktrace.c:        .llseek =       noop_llseek,
Downloads/linux-6.12.11/kernel/power/qos.c:     .llseek = noop_llseek,
Downloads/linux-6.12.11/kernel/gcov/fs.c:       .llseek = noop_llseek,
Downloads/linux-6.12.11/net/atm/proc.c: .proc_lseek     = noop_llseek,
Downloads/linux-6.12.11/net/mac80211/debugfs.c: .llseek = noop_llseek,
Downloads/linux-6.12.11/samples/kfifo/inttype-example.c:        .proc_lseek     = noop_llseek,
Downloads/linux-6.12.11/samples/kfifo/record-example.c: .proc_lseek     = noop_llseek,
Downloads/linux-6.12.11/samples/kfifo/bytestream-example.c:     .proc_lseek     = noop_llseek,
Downloads/linux-6.12.11/scripts/coccinelle/api/stream_open.cocci:@ has_noop_llseek @
Downloads/linux-6.12.11/scripts/coccinelle/api/stream_open.cocci:    .llseek = noop_llseek,
Downloads/linux-6.12.11/scripts/coccinelle/api/stream_open.cocci:@ maybe_stream depends on (!has_llseek || has_no_llseek || has_noop_llseek) && !has_mmap && !has_copy_file_range && !has_remap_file_range && !has_read_iter && !has_write_iter && !has_splice_read && !has_splice_write @
Downloads/linux-6.12.11/security/tomoyo/securityfs_if.c:        .llseek  = noop_llseek,
Downloads/linux-6.12.11/sound/sound_core.c:     .llseek = noop_llseek,
Downloads/linux-6.12.11/sound/core/sound.c:     .llseek =       noop_llseek,
Downloads/linux-6.12.11/sound/core/timer.c:     .llseek = noop_llseek,
Downloads/linux-6.12.11/sound/core/seq/oss/seq_oss.c:   .llseek =       noop_llseek,
Downloads/linux-6.12.11/virt/kvm/kvm_main.c:    .llseek         = noop_llseek,
Downloads/linux-6.12.11/virt/kvm/kvm_main.c:    .llseek = noop_llseek,
Downloads/linux-6.12.11/virt/kvm/kvm_main.c:    .llseek = noop_llseek,
Downloads/linux-6.12.11/virt/kvm/kvm_main.c:    .llseek         = noop_llseek,
Downloads/linux-6.12.11/virt/kvm/kvm_main.c:    .llseek         = noop_llseek,
--- End code ---
You can see noop_llseek is defined in /fs/read_write.c and used all over the place.
The list shown is not complete. I only posted about 1/4 of it.

So it looks like  no_llseek  should be changed to  noop_llseek.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version