/etc/grub.d/09_lowlatency e /etc/grub.d/10_linux kernel de lista dupla

4

Em um novo ubuntu-studio 14.04 instale o sudo apt-get install linux-genérico.

Então o grub-mkconfig lhe dará um menu como tal

Ubuntu (lowlatency)
Ubuntu
Advanced options for Ubuntu

Uma rápida olhada com a tecla 'e' mostrará que tanto o Ubuntu (lowlatency) quanto o Ubuntu apontam para

linux   /boot/vmlinuz-3.13.0-24-lowlatency

Uma alternativa é selecionar o kernel desejado no menu 'Advanced option for Ubuntu'.

Como podemos corrigir /etc/grub.d/09_lowlatency e /etc/grub.d/10_linux para que eles não selecionem o mesmo kernel padrão?

Menuentry relevante em /boot/grub/grub.cfg de /etc/grub.d/09_lowlatency

menuentry 'Ubuntu (lowlatency)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0f6e1051-cf9f-4299-b691-76d0d8c532d1' {
recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  0f6e1051-cf9f-4299-b691-76d0d8c532d1
        else
          search --no-floppy --fs-uuid --set=root 0f6e1051-cf9f-4299-b691-76d0d8c532d1
        fi
        linux   /boot/vmlinuz-3.13.0-24-lowlatency root=UUID=0f6e1051-cf9f-4299-b691-76d0d8c532d1 ro   quiet splash $vt_handoff
        initrd  /boot/initrd.img-3.13.0-24-lowlatency
}

E a entrada do menu em /boot/grub/grub.cfg de /etc/grub.d/10_linux

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0f6e1051-cf9f-4299-b691-76d0d8c532d1' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  0f6e1051-cf9f-4299-b691-76d0d8c532d1
        else
          search --no-floppy --fs-uuid --set=root 0f6e1051-cf9f-4299-b691-76d0d8c532d1
        fi
        linux   /boot/vmlinuz-3.13.0-24-lowlatency root=UUID=0f6e1051-cf9f-4299-b691-76d0d8c532d1 ro  quiet splash $vt_handoff
        initrd  /boot/initrd.img-3.13.0-24-lowlatency
}

Sim, garanto que tenho um kernel normal instalado:

$ ls -l /vmlinuz*
lrwxrwxrwx 1 root root 30 May  5 20:37 /vmlinuz -> boot/vmlinuz-3.13.0-24-generic
lrwxrwxrwx 1 root root 33 May  2 20:25 /vmlinuz.old -> boot/vmlinuz-3.13.0-24-lowlatency
    
por N8tron 06.05.2014 / 14:11

2 respostas

2
  1. Abra /etc/grub.d/10_linux para edição

  2. Procure pelo loop de lista do kernel:

    machine='uname -m'
    case "x$machine" in
        xi?86 | xx86_64)
            list='for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
                      if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
                  done' ;;
        *)
            list='for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
                      if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
                 done' ;;
    esac
    
  3. Adicione a cláusula if para ignorar lowlatency kernels

    machine='uname -m'
    case "x$machine" in
        xi?86 | xx86_64)
            list='for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
                      if [ -z "${i##*lowlatency}" ] ; then continue ; fi
                      if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
                  done' ;;
        *)
            list='for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
                      if [ -z "${i##*lowlatency}" ] ; then continue ; fi
                      if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
                 done' ;;
    esac
    
  4. Atualizar a lista do Grub

    sudo update-grub2
    
por user.dz 23.05.2014 / 18:26
1

Na entrada de "/etc/grub.d/10_linux", há essas linhas.

 linux   /boot/vmlinuz-3.13.0-24-lowlatency root=UUID=0f6e1051-cf9f-4299-b691-76d0d8c532d1 ro  quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.13.0-24-lowlatency

Eu acredito que se você alterar as duas instâncias de "lowlatency" como lidas nestas linhas para "genéricas", você pode resolver o problema. Se você puder, relate os resultados. Eu não vi um caso assim antes.

    
por Andrew Stewart 23.05.2014 / 02:58