【error】scripts/basic/fixdep: Syntax error: "(" unexpected

前言html

第一次安裝PCIE驅動的時候容易出現各類問題,總結一下下。。linux

緣由分析ubuntu

通常狀況下,直接make的時候會出現問題.app

scripts/basic/fixdep: 1: scripts/basic/fixdep: Syntax error: "(" unexpected
scripts/Makefile.build:261: recipe for target '/opt/pcie_v4l2_mono-master/app/uisee-sensor.o' failed
make[3]: *** [/opt/pcie_v4l2_mono-master/app/uisee-sensor.o] Error 2
Makefile:1414: recipe for target '_module_/opt/pcie_v4l2_mono-master/app' failed
make[2]: *** [_module_/opt/pcie_v4l2_mono-master/app] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.4.38-tegra'
Makefile:16: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/opt/pcie_v4l2_mono-master/app'
Makefile:42: recipe for target 'all' failed
make: *** [all] Error 2

 緣由一:ide

沒有在/etc/rc.local文件中加載pcie驅動;post

        echo "PCIE card exist, start pcie video driver"
        modprobe videodev
        modprobe videobuf2-core
        modprobe videobuf2-vmalloc
        modprobe videobuf2-dma-contig
        modprobe v4l2-common

等等。。。ui

緣由二:spa

系統ext配置文件不完整;.net

解決方法:code

在/boot/extconf,修改extconf文件,增長coherent_pool=16M,加在APPEND最後;

nvidia@tegra-ubuntu:/boot/extlinux$ sudo vi extlinux.conf 
 
TIMEOUT 30
DEFAULT primary

MENU TITLE p2771-0000 eMMC boot options

LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 coherent_pool=16M

緣由三:

內核須要從新編譯;

cd /lib/modules/4.4.38-tegra/
cd build
cd scripts/
sudo make scripts

scripts目錄出錯:

make: *** No rule to make target 'scripts'.  Stop.

注意,也多是在build而不是scripts目錄下進行編譯;

build目錄編譯成功:

nvidia@tegra-ubuntu:/lib/modules/4.4.38-tegra/build$ sudo make scripts
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/bin2c
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --silentoldconfig Kconfig
#
# configuration written to .config
#
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/dtc
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  CC      scripts/mod/devicetable-offsets.s
  GEN     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/pnmtologo
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/sortextable

 

緣由四:
驅動文件的權限問題;

sudo chown nvidia:nvidia pcie_v4l2_mono-master/ -R

緣由五:

編譯驅動;

cd /opt/pcie_***
sudo make clean
make #( no sudo)
sudo make insert

參考

1.編譯驅動內核

轉載於:https://www.cnblogs.com/happyamyhope/p/9430225.html