Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Guide to essential vanilla modules for console addon to work in DSM 7.2 #63

Closed
PeterSuh-Q3 opened this issue Jun 4, 2023 · 8 comments
Closed

Comments

@PeterSuh-Q3
Copy link
Collaborator

Starting with mdio.ko you pointed out, I checked more modules for missing dependencies.
Most of them were modules that had to be imported from vanilla modules.
mdio had 4 nics and dependencies
Six vanilla modules for fabio's console addon to work were missing on the two platforms below.

cfbcopyarea.ko
cfbfillrect.ko
cfbimgblt.ko
fb.ko
fb_sys_fops.ko
fbdev.ko

After applying this module, the console (cgetty of M Shell) works normally.

https://github.com/PeterSuh-Q3/arpl-modules/tree/main/vanilla/apollolake-4.4.302

https://github.com/PeterSuh-Q3/arpl-modules/tree/main/vanilla/geminilake-4.4.302

@github-actions
Copy link
Contributor

github-actions bot commented Jun 4, 2023

@wjz304
Copy link
Contributor

wjz304 commented Jun 4, 2023

Thank you for sharing
arpl's modules.tgz is directly decompressed to /usr/lib/modules/ of rd.gz, so what already exists in rd.gz does not actually need to be included in modules.tgz

@wjz304
Copy link
Contributor

wjz304 commented Jun 4, 2023

Oh, I seem to have misread it. them're not in rd.gz
image

@PeterSuh-Q3
Copy link
Collaborator Author

Could you please share with me the command to check dependencies like above?

@wjz304
Copy link
Contributor

wjz304 commented Jun 5, 2023

workspace=$PWD
for M in `ls ${workspace}`; do
  depends=(`modinfo "${workspace}/${M}" | grep depends: | awk -F: '{print $2}' | awk '$1=$1' | sed 's/,/ /g'`)
  if [ ${#depends[*]} -gt 0 ]; then
    for k in ${depends[@]}; do
      [ ! -f "${workspace}/${k}" ] && echo "[W] '${M}' depends '${k}' does not exist" 
    done
  fi
done

@wjz304
Copy link
Contributor

wjz304 commented Jun 5, 2023

@PeterSuh-Q3
Copy link
Collaborator Author

PeterSuh-Q3 commented Jun 5, 2023

thank you I made some adjustments to make it usable in the Github Codespaces Ubuntu terminal environment.
It works fine.

@PeterSuh-Q3 ➜ /workspaces/arpl-modules (main) $ cat chk.sh

#!/usr/bin/env bash

for D in `ls -d *-*/`; do
  E=$(echo ${D} | sed 's#/##')
  echo "${E} directory"
  for M in `ls ./${E}/*.ko`; do
    depends=`modinfo "${M}" | grep depends: | awk -F: '{print $2}' | awk '$1=$1' | sed 's/,/ /g'`
    if [ ${#depends[*]} -gt 0 ]; then
      for k in `echo "$depends"`; do
        [ ! -f "./${E}/${k}.ko" ] && echo "[W] ${M} depends ${k} does not exist" 
      done
    fi
  done
done

@PeterSuh-Q3 ➜ /workspaces/arpl-modules (main) $ sh chk.sh
apollolake-4.4.180 directory
[W] ./apollolake-4.4.180/b44.ko depends ssb does not exist
[W] ./apollolake-4.4.180/dvb-usb-dib0700.ko depends dib7000m does not exist
[W] ./apollolake-4.4.180/dvb-usb-dib0700.ko depends dib9000 does not exist
[W] ./apollolake-4.4.180/dvb-usb-dib0700.ko depends dibx000_common does not exist
[W] ./apollolake-4.4.180/dvb-usb-dib0700.ko depends dib0090 does not exist
[W] ./apollolake-4.4.180/dvb-usb-dib0700.ko depends dib0070 does not exist
[W] ./apollolake-4.4.180/dvb-usb-dib0700.ko depends dib3000mc does not exist
[W] ./apollolake-4.4.180/hid-generic.ko depends hid does not exist
[W] ./apollolake-4.4.180/m88ds3103.ko depends regmap-i2c does not exist
[W] ./apollolake-4.4.180/qla4xxx.ko depends libiscsi does not exist
[W] ./apollolake-4.4.180/ts2020.ko depends regmap-i2c does not exist
[W] ./apollolake-4.4.180/usbcore.ko depends usb-common does not exist
apollolake-4.4.302 directory
[W] ./apollolake-4.4.302/acpi-cpufreq.ko depends processor does not exist
[W] ./apollolake-4.4.302/atlantic.ko depends crc-itu-t does not exist
[W] ./apollolake-4.4.302/b44.ko depends ssb does not exist
[W] ./apollolake-4.4.302/dvb-usb-dib0700.ko depends dib7000m does not exist
[W] ./apollolake-4.4.302/dvb-usb-dib0700.ko depends dib9000 does not exist
[W] ./apollolake-4.4.302/dvb-usb-dib0700.ko depends dibx000_common does not exist
[W] ./apollolake-4.4.302/dvb-usb-dib0700.ko depends dib0090 does not exist
[W] ./apollolake-4.4.302/dvb-usb-dib0700.ko depends dib0070 does not exist
[W] ./apollolake-4.4.302/dvb-usb-dib0700.ko depends dib3000mc does not exist
[W] ./apollolake-4.4.302/m88ds3103.ko depends regmap-i2c does not exist
[W] ./apollolake-4.4.302/r8153_ecm.ko depends cdc_ether does not exist
[W] ./apollolake-4.4.302/ts2020.ko depends regmap-i2c does not exist
[W] ./apollolake-4.4.302/usbcore.ko depends usb-common does not exist
[W] ./apollolake-4.4.302/vxlan.ko depends udp_tunnel does not exist
[W] ./apollolake-4.4.302/vxlan.ko depends ip6_udp_tunnel does not exist
...

@wjz304
Copy link
Contributor

wjz304 commented Jun 5, 2023

yes, there are some differences between different platforms, and some dependencies are not easy to solve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants