Como você instala as fontes do kernel do FreeBSD10?


19

Estou tentando executar uma atualização do freebsd10 e estou sendo solicitado pelas fontes do kernel

===>>> Launching child to update lsof-4.89.b,8 to lsof-4.89.d,8

===>>> All >> lsof-4.89.b,8 (9/9)

===>>> Currently installed version: lsof-4.89.b,8
===>>> Port directory: /usr/ports/sysutils/lsof

        ===>>> This port is marked IGNORE
        ===>>> requires kernel sources


        ===>>> If you are sure you can build it, remove the
               IGNORE line in the Makefile and try again.

===>>> Update for lsof-4.89.b,8 failed
===>>> Aborting update

mas o sysinstall não existe mais

sysinstall: not found

Qual é o novo método de instalação dos fontes do kernel no FreeBSD10?

Eu pensei bsdinstall, mas ele só tenta cortar meu disco que eu não quero insira a descrição da imagem aqui


É evidente que você não está atualizando o FreeBSD se estiver atualizando uma porta de terceiros com o nome de sysutils/lsof. Mesmo além do fato de que isso está acontecendo /usr/ports, o comando real do sistema operacional FreeBSD é fstat. O que você está realmente tentando fazer: atualizar a coleção de portas? ou atualizar o sistema operacional? Porque são duas respostas diferentes e dois capítulos diferentes do FreeBSD Handbook . Sim, tudo isso está no manual .
JdeBP # 22/15

lsof estava procurando por eles e eu realmente os queria. Não tenho vergonha de um kernel, mas a informação não é onde encontrar. Apenas obtendo as fontes atuais do kernel.
Nix 24/05

Respostas:


6

Você consegue:

git clone https://github.com/freebsd/freebsd.git /usr/src
cd /usr/src; make clean

2
Para futuros pesquisadores, isso reduzirá uma quantidade significativa de dados adicionais (coisas git) que não são necessários para a construção real a partir da origem. A resposta de J. Delgado é o método canônico e mais eficiente.
Royce Williams

39

Você pode baixar e extrair manualmente um tarball da árvore de código-fonte completo para sua versão específica em ftp://ftp.freebsd.org/pub/FreeBSD/releases/

Por exemplo

buscar ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.2-RELEASE /src.txz

tar -C / -xzvf src.txz

10.2-RELEASE DEVE ser substituído pela versão correta do seu sistema operacional.

Pode-se encontrar a versão usando o comando: freebsd-version -k

As versões secundárias devem ser ignoradas para buscar no URL acima. Por exemplo: se for 10.2-RELEASE-p1, basta usar:10.2-RELEASE


Esta é a resposta certa.
mghaoui

2
Funciona com o FreeBSD 11.2.
Code4R7

1
Observe que a -zopção é desnecessária aqui, pois o tar detectará automaticamente o formato de entrada. Por página homem, In extract or list modes, this option is ignored.eu também gosto de fazer isso em linha: fetch -o- ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/X.Y-RELEASE/src.txz | sudo tar -C / -xvf -. Não há necessidade de armazenar src.txzlocalmente.
ghoti 25/09/18

11

Uma solução um pouco mais genérica:

fetch -o /tmp ftp://ftp.freebsd.org/pub/`uname -s`/releases/`uname -m`/`uname -r | cut -d'-' -f1,2`/src.txz

tar -C / -xvf /tmp/src.txz

E você pode substituir /tmppelo seu diretório favorito para fazer o download de coisas.

Ou:

svn checkout https://svn.freebsd.org/base/releng/`uname -r | cut -d'-' -f1,1` /usr/src
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.