kernel sysfs não reconhece kobjects de armazenamento [closed]

0

Estou usando o ubuntu kernel 4.xx com o ubuntu initrd.img correspondente e ele funciona. Mas, eu quero usar um initramfs personalizado inspirado pelo lfs (linux do zero) initramfs . O kernel extrai e executa meu script de inicialização com sucesso, incluindo a montagem de sysfs. Mas / sys não expõe nenhum rastreio ao armazenamento disponível (existem dois discos) e, portanto, não é possível inicializar a raiz do kernel.

Qual é o problema?

O ubuntu add-on para o kernel (diretório / ubuntu) dita alguma política especial para o initrd?

    
por Error 15.11.2018 / 12:22

1 resposta

1

No sistema de trabalho, observe o (s) dispositivo (s) em sysfs e seu link simbólico device . Isso aponta para o dispositivo pai - que, por sua vez, pode ter seu próprio dispositivo pai e assim por diante. Escreva uma lista do dispositivo e de todos os seus dispositivos pai. Então você pode verificar todos eles no initramfs. Você pode estar perdendo mais requisitos do que apenas os dois dispositivos de disco.

Em segundo lugar, quando você faz sua lista de dispositivos, veja o driver/module de cada um e anote o que é. Isso informa a você qual módulo do kernel está reconhecendo o dispositivo.

O udev deve estar carregando os módulos do kernel para você.

Infelizmente, o initramfs do LFS usa o systemd-udev e tenta executá-lo sem o systemd. Isso é lamentável porque usar o systemd permitiria que o systemd-udev registrasse quaisquer erros encontrados no diário do systemd. Você poderia então verificar o diário em busca de erros. Não sei se o log de erros do udev funciona no initramfs do LFS.

does ubuntu add-on to the kernel (/ubuntu directory) dictates any special policy for initrd?

Não.

    
por 15.11.2018 / 12:53