Como compilar o driver no FreeBSD

2

No Ubuntu 16.04 eu posso fazer assim:

apt-get install build-essential git
git clone https://github.com/CristianVladescu/rtl8814AU.git
cd rtl8814AU && make && make install

No FreeBSD, eu tentei isso:

  • Instale o FreeBSD 10.3 com arquivos de origem - OK
  • pkg install git - OK
  • git clone https://github.com/CristianVladescu/rtl8814AU.git - OK
  • cd rtl8814AU - OK
  • make - FAIL

make: "/root/rtl8814AU/Makefile" line 137: Missing dependency operator
make: "/root/rtl8814AU/Makefile" line 139: Need an operator
make: "/root/rtl8814AU/Makefile" line 141: Missing dependency operator
...
make: "/root/rtl8814AU/Makefile" line 1688: Need an operator
make: "/root/rtl8814AU/Makefile" line 1692: Need an operator
make: "/root/rtl8814AU/Makefile" line 1734: Need an operator
make: Fatal errors encountered -- cannot continue make: stopped in /root/rtl8814AU

  • pkg install gmake - OK
  • gmake - FAIL

gmake ARCH=amd64 CROSS_COMPILE= -C /lib/modules/10.3-RELEASE/build M=/root/rtl8814AU modules
gmake[1]: *** /lib/modules/10.3-RELEASE/build: No such file or directory. Stop.
gmake: *** [Makefile:1699: modules] Error 2

Agora eu cheguei a um beco sem saída. Eu não tenho mais ideia do que procurar no Google.

    
por Chris 02.07.2017 / 18:58

2 respostas

3

Parece que você está tentando compilar um módulo do kernel Linux no FreeBSD.

Embora tanto o Linux quanto o FreeBSD sejam sistemas operacionais semelhantes ao Unix, eles empregam kernels que são em muitos aspectos totalmente diferentes uns dos outros. Isto significa que uma parte do código do kernel (um módulo do kernel, por exemplo) que é escrito especificamente para o kernel do Linux não irá compilar e / ou trabalhar em um sistema FreeBSD.

É em situações como essas que alguém com conhecimento do kernel do FreeBSD e sua arquitetura, e pelo menos um conhecimento geral do kernel Linux, possivelmente consideraria sentar-se em port o driver do Linux para FreeBSD. Isso envolve pegar o funcionamento essencial do driver e traduzi-lo em algo que se encaixe no modo como o kernel do FreeBSD faria as coisas equivalentes.

É uma tarefa que requer tempo e conhecimento.

Como eu não estou familiarizado com o driver, ou com o FreeBSD em maior medida, infelizmente não posso dizer se os dispositivos que o driver suporta já são ou não suportados pelo FreeBSD.

    
por 02.07.2017 / 20:12
-2

neste repo: link

existe um comando para converter em unix. 'quote de origem'

Converted all line endings to unix.

The command used to perform that was: find . -path ./.git -prune -o -name '*' -type f -print | xargs egrep -l $'\r'\$ | xargs perl -pi -e 's/\r\n/\n/g'

This finds all files recursively but excludes the '.git' directory. Then it checks whether it has dos line endings and if it does, converts them to unix. Without the ' | xargs perl ...' part, it'll list the files with dos line endings.

Looks like Realtek is finally learning, only a couple of files this time :)

    
por 03.07.2017 / 01:34