Eu escrevi um tempo atrás para o OpenSUSE ( link ), que você pode já ter encontrado durante o seu googling. Como isso é para uma distribuição baseada em RPM, todas as etapas não são 100% precisas.
O que você quer fazer é inteiramente possível no Ubuntu. O primeiro passo é obter localmente um arquivo de origem do Kernel local. Isso é amplamente documentado aqui . O passo chave é
sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
apt-get source linux-image$(uname -r)
O que vai conseguir localmente. Leia tudo para mais detalhes sobre como compilar coisas para kernels.
De lá, você precisa pegar o arquivo LIO do canal de backports (veja meu link).
git clone git://linux-iscsi.org/lio-core-backports.git lio-core-backports.git
git clone git://git.kernel.org/pub/scm/linux/storage/lio/lio-utils lio-utils.git
Próximo passo: prepare o kernel. Mude o diretório para a fonte do kernel (provavelmente / usr / src / linux) e execute o seguinte par de comandos:
make oldconfig
make prepare
Isto irá preparar o kernel para compilar os módulos para sua versão atual do kernel.
Em seguida, mude para o diretório lio-core-backports.git
criado acima e execute:
./autoconfig
make
make install
Os erros aqui provavelmente ocorrerão porque o arquivo do kernel não está sendo preparado corretamente. O último passo aqui realmente instala os módulos. Agora, para instalar os utilitários que facilitam o gerenciamento.
Mude para o diretório lio-utils.git
e repita os comandos acima.
Agora você tem (provavelmente) o LIO-Target instalado. Hora de deixar seu arquivo de configuração funcionando. Uma vez que você chegou ao ponto de descobrir como obter os arquivos de configuração ajustados corretamente, você já tem os módulos do kernel instalados e prontos para serem executados.
Disclaimer: Eu sou minimamente familiarizado com o funcionamento do gerenciador de pacotes do Ubuntu, então o material do apt-get acima foi extraído diretamente da documentação. Seus comandos reais podem variar. Pilhas não incluídas.