Компиляция и установка нового ядра в Ubuntu 10.04

У меня Ubuntu 10.04 работает на VMware на хосте Windows. Я изучаю программирование драйверов устройств Linux. В процессе я пытался настроить дерево исходных кодов Linux, а также собрать и загрузить собственное ядро. Я сделал два пакета.deb (собственное ядро) и установил их с помощью dpkg ( http://www.howtoforge.com/kernel_compilation_ubuntu_p2). Затем, когда я перезагружаюсь, он говорит: паника ядра, неспособность смонтировать root fs на unknown-block(0,0). Пожалуйста, руководство, что я должен делать?

Моя система имеет GRUB2.

Также, пожалуйста, расскажите, какой дистрибутив Linux лучше всего подходит для изучения программирования драйверов устройств Linux. Я нахожу Ubuntu несколько сложным, так как большинство учебников, которые я нахожу в интернете для сборки ядер, написаны для универсального linux, но в Ubuntu есть другой путь. Там не так много помощи, доступной.

2 ответа

Чтобы сконфигурировать, собрать и установить новое ядро ​​в Ubuntu 10.04, выполните следующие действия:

  1. перейдите в каталог с исходным деревом ядра (при условии, что это ~/linux):

    cd ~/linux
    
  2. Скопируйте текущую конфигурацию ядра в исходное дерево:

    cp /boot/config-2.6.32-32-generic .config
    
  3. Настройте дополнительные параметры (здесь я просто принимаю значения по умолчанию):

    yes '' | make oldconfig
    

    Теперь вы можете изменить некоторые параметры, если вы не хотите значения по умолчанию. На моей машине я выбрал 'Processor familyзнак равноCore 2' а также 'Preemption modelзнак равноPreemptible kernel". Для этого запустите:

    make menuconfig
    

    и выбрал варианты, которые вам нравятся. Вы можете нажать ? на любой вариант и там будет краткое описание.

  4. Сборка ядра:

    make -j4 > /dev/null
    

    менять 4 к (number_of_physical_cores_on_your_machine * 2) это сделает сборку ядра намного быстрее. Не бойся > /dev/null так как все предупреждения и ошибки все равно будут выводиться.

  5. Установите новое ядро:

    sudo -s
    make INSTALL_MOD_STRIP=1 modules_install
    

    ты можешь просто make modules_install если вы планируете отлаживать ядро

    make install
    update-initramfs -c -k `make kernelrelease`
    update-grub
    exit
    

Это руководство основано на новом ядре на Ubuntu 10.04

Я рекомендую Gentoo. Немного сложнее установить и использовать Ubuntu из коробки, но вы знакомитесь с системой с самого начала. Даже если вы новичок, инструкции по установке проведут вас через весь процесс, и компиляция вашего собственного ядра является его частью.

Другие вопросы по тегам