Eu acho que não é super fácil, se houvesse alguma opção de inicialização do kernel que pudesse ajudar a inicializar a HP com um kernel padrão (como noapic, nomodeset, etc) eu tentaria primeiro.
Algumas instruções são muito longas & variou para postar aqui [ link ], mas uma página realmente parece quase razoável, se você está compilando para o mesmo arquitetura & Lançamento do Ubuntu.
Estes passos são para compilar um kernel em sua máquina atual, se é o mesmo "tipo" x64 e rodando a mesma versão do Ubuntu que pode funcionar. [Do link ]:
Obtendo a fonte para um lançamento do Ubuntu
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
Construir Ambiente
Se você não criou um kernel em seu sistema antes, existem alguns pacotes necessários para que você possa construir com sucesso. Você pode obter estes instalados 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 apenas modifica drivers/mmc/card/block.c
, para que o arquivo esteja nos arquivos de origem baixados. Parece que apenas adiciona um pouco a uma linha, por isso, se quiser editar manualmente a linha com copy & colar que deve funcionar, apenas remove as linhas iniciais " -
" e adiciona as linhas iniciais " +
". Ou usando o programa patch
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
para informações). Se você não está fazendo outras alterações, eu pular o resto, como as instruções sugerem. ]
Esta etapa pode ser ignorada se nenhuma alteração de configuração for desejada. O processo de compilação usará uma configuração que é reunida 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
Isto leva a configuração atual para cada arquitetura / sabor suportado e chama o menuconfig para editar seu arquivo de configuração. O chmod é necessário porque a forma como o pacote fonte é criado perde os bits executáveis nos scripts.
O apt-get tentará "atualizar" o kernel para a compilação / versão do kernel do Ubuntu se você construir um kernel customizado sem anexar uma string extra ao final da sua versão do kernel. Para evitar que o apt-get liste o kernel do Ubuntu como atualizável quando você digita apt-get upgrade, você deve (a partir da documentação do kernel) acrescentar uma string extra ao final da sua versão do kernel. Isso aparecerá quando você digitar uname, por exemplo.
Para evitar isso, no menu Configuração do Kernel, navegue e modifique:
- Configuração geral --- >
- () Versão local - anexar ao lançamento do kernel
Construindo o kernel
Construir o kernel é muito 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 pacotes binários .deb será produzido no diretório acima do diretório raiz da compilação. Por exemplo, depois de construir 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-package que também deverá ser instalado, se presente.
Testando o novo kernel
Instale o conjunto de três pacotes (em seu sistema de compilação ou em um sistema de destino diferente) com dpkg -i e, em seguida, reinicialize:
sudo dpkg -i linux*2.6.38-7.37*.deb
sudo reboot
Sobre a parte de instalação, eu não me incomodaria em construir um ISO (com algo como remastersys) que provavelmente é apenas mais uma dor de cabeça;)
Se você pudesse simplesmente copiar os arquivos para o disco rígido que possa funcionar. Eu normalmente 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 um equivalente no windows dd
ferramenta?