Eu acho que não é super fácil, se houvesse alguma opção de inicialização do kernel que possa ajudar a inicializar a HP com um kernel padrão (como noapic, nomodeset, etc), eu tentaria primeiro.
Algumas instruções são muito longas e variadas para serem postadas aqui [ https://help.ubuntu.com/community/Kernel/Compile ], mas uma página parece quase razoável, se você estiver compilando para a mesma arquitetura e versão do Ubuntu.
Essas etapas são para compilar um kernel na sua máquina atual, se for do mesmo "tipo" x64 e executar a mesma versão do Ubuntu, poderá funcionar. [Em https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel ]:
Obtendo a fonte para uma versão do Ubuntu
Ou
- Ou
apt-get source linux-image-$(uname -r)
- Ou
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<release codename>.git
Por exemplo, para obter a árvore precisa:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git
Ambiente de compilação
Se você não criou um kernel no seu sistema antes, existem alguns pacotes necessários para que você possa compilar com êxito. Você pode instalá-los com:
sudo apt-get build-dep linux-image-$(uname -r)
Modificando a configuração
[Aqui está a parte em que você aplicaria seu patch. Esse link parece que o patch acabou de ser modificado drivers/mmc/card/block.c
, para que o arquivo esteja nos arquivos de origem baixados. Parece que apenas adiciona um pouco a uma linha; portanto, se você quiser editar manualmente a linha com copiar e colar que deve funcionar, ela remove as -
linhas " " iniciais e adiciona as +
linhas " " iniciais. Ou usando o patch
programa com patch --verbose -p1 <the_patch_file
(talvez sem o -p1
se não funcionar, controla como ele encontra o arquivo a ser corrigido, veja man patch
informações). Se você não estiver fazendo outras alterações, pularia o restante, conforme as instruções sugerem. ]
Esta etapa pode ser ignorada se nenhuma alteração na configuração for desejada. O processo de compilação usará uma configuração que é criada a partir de vários arquivos de subconfiguração. A maneira mais simples de modificar qualquer coisa aqui é executar:
chmod a+x debian/scripts/*
chmod a+x debian/scripts/misc/*
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
Isso pega a configuração atual de cada arquitetura / sabor suportada e chama o menuconfig para editar seu arquivo de configuração. O chmod é necessário porque, como o pacote de origem é criado, ele perde os bits executáveis nos scripts.
O apt-get tentará "atualizar" o kernel para a versão / build do kernel do Ubuntu se você criar um kernel personalizado sem anexar uma string extra ao final da sua versão do kernel. Para impedir o apt-get de listar o kernel do Ubuntu como atualizável quando você digita o apt-get upgrade, você deve (na documentação do kernel) anexar uma string extra ao final da sua versão do kernel. Isso será exibido quando você digitar uname, por exemplo.
Para evitar isso, no Menu de Configuração do Kernel, navegue e modifique:
- Configuração geral --->
- () Versão local - anexa à versão do kernel
Construindo o kernel
Construir o kernel é bastante fácil. Altere seu diretório de trabalho para a raiz da árvore de origem do kernel e digite os seguintes comandos:
fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary-generic
Se a compilação for bem-sucedida, um conjunto de três arquivos de pacote binário .deb será produzido no diretório acima do diretório raiz da compilação. Por exemplo, após a construção de um kernel com a versão "2.6.38-7.37" em um sistema amd64, esses três (ou quatro) pacotes .deb seriam produzidos:
cd ..
ls *.deb
linux-headers-2.6.38-7_2.6.38-7.37_all.deb
linux-headers-2.6.38-7-generic_2.6.38-7.37_amd64.deb
linux-image-2.6.38-7-generic_2.6.38-7.37_amd64.deb
em versões posteriores, você também encontrará um pacote linux-extra que você também deve instalar se presente.
Testando o novo kernel
Instale o conjunto de três pacotes (em seu sistema de construção ou em um sistema de destino diferente) com dpkg -i e, em seguida, reinicie:
sudo dpkg -i linux*2.6.38-7.37*.deb
sudo reboot
Sobre a parte da instalação, eu não me incomodaria em criar um ISO (com algo como remastersys) que provavelmente seja apenas outra dor de cabeça ;-)
Se você pudesse copiar os arquivos para o disco rígido que pode funcionar. Normalmente, eu sugiro um live CD / USB do linux, mas se o Ubuntu não inicializar ... talvez uma distro diferente com um kernel diferente, ou use o Windows para copiar os arquivos, ou uma imagem de partição e uma dd
ferramenta equivalente ao Windows ?
[]
's. Para sua informação, se você não estiver familiarizado com eles, o patch é a parte da página vinculada dediff --git ...
baixo para baixo, realmente apenas modificando essa-
linha na+
linha (os caracteres-
&+
são apenas parapatch
referência, não parte da fonte)