Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- # Exibir mensagens informativas e aguardar a confirmação do usuário
- function display_information_and_wait_for_user_confirmation() {
- echo -e "$1\nPressione qualquer tecla para continuar, ou <ctrl+c> para cancelar."
- read -r
- }
- # Limpar artefatos de compilação
- function cleanup() {
- rm /usr/src/linux-upstream* || true
- rm /usr/src/*.deb || true
- make clean
- make mrproper
- make distclean
- }
- # Instalar dependências
- function install_dependencies() {
- apt update && apt upgrade && apt autoremove && apt autoclean && apt install zstd libncurses-dev flex bison libssl-dev libelf-dev python3-dev dwarves build-essential
- }
- # Compilar o kernel
- function compile_kernel() {
- cp /usr/src/.config "$(pwd)"
- nice -n 15 make -j "$(nproc)" deb-pkg
- }
- # Instalar o kernel compilado e realizar a limpeza
- function install_and_cleanup() {
- cd /usr/src || exit 0
- dpkg -i -- *.deb
- sleep 300
- cleanup
- sleep 10
- echo -e '\nFinalizado.'
- sleep 10
- reboot
- }
- # Início do script
- clear
- echo -e 'Auxiliar de Compilação Kernel Linux Debian e Derivados\nMarcelo Marchi Negreira\n'
- # Instalar dependências
- install_dependencies
- clear
- nproc="$(nproc)"
- echo -e "Trabalharei com $nproc cores.\n"
- # Limpeza inicial
- display_information_and_wait_for_user_confirmation "Iniciando limpeza"
- cleanup
- # Compilação
- display_information_and_wait_for_user_confirmation "Iniciando compilação"
- compile_kernel
- # Instalação e limpeza final
- display_information_and_wait_for_user_confirmation "Iniciando Instalação e limpeza."
- install_and_cleanup
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement