Tava voltando umas páginas, alguém pediu se dava pra dar um "replace" em todos os arquivos do kernel que contenha algum -march,-mtune,-mcpu, por -march=native.
Bom, eu não sou um eeexpert em bash, eu tenho lógica de programação porque programo em PHP.
Fiz esse script, ele é bem POG (programação orientada a gambiarra), devido a eu não ser muito bom em bash.
Ele dá o replace em todos os mtune march, mcpu por -march=native.
Se alguém quiser testar:
#!/bin/bash
grep -srin mtune /usr/src/linux-2.6.37/* -l | while read path; do
if [ "$path" != "/usr/src/linux-2.6.37/script.sh" ]; then
echo $path
sed -e 's/-mtune=.*/-march=native/g' $path > "$path.file_changed"
rm -rf $path
mv "$path.file_changed" $path
fi
done
grep -srin march /usr/src/linux-2.6.37/* -l | while read path; do
if [ "$path" != "/usr/src/linux-2.6.37/script.sh" ]; then
echo $path
sed -e 's/-march=.*/-march=native/g' $path > "$path.file_changed"
rm -rf $path
mv "$path.file_changed" $path
fi
done
PS.: Ele vai te dizer (ao menos é pra dizer) que arquivos ele mudou, depois de ele mudar, verifique a integridade do arquivo, com o backup que você deve ter feito do source do kernel. Tenha certeza que ele só deu replace no que deve. Isso é só pra testar claro. Eu testei com todos os arquivos (fiquei 20 min codando e 1 hora testando '-') e fez tudo que ele deveria sem problemas, mas pode ser que tenha algum erro, melhor testar.
PS2.: Se você fizer na pasta do src vai ter que executar ele como root
PS3.: se você fizer isso na pasta de outro kernel (eu fiz na do linux-2.6.37), tenha certeza de mudar todos os caminhos do script, pra não dar erro. E caso você mude o caminho, tome MUITO cuidado com o que vais remover porque eu uso: rm -rf, se você usar um rm -rf /, já era, rs. Por isso tome cuidado ou não execute como root, coloque em uma pasta que seu user tenha permissão.
PS4.: O script leva uns 10 minutos pra executar, isso é normal já que ele vai procurar 3 vezes em toooodos os arquivos do kernel ;x