Как знать, что включить в ядре?

Согласно libmtp домашней странице (источник mtp-detect):

Если Вы случайно встречаете устройство, какой libmtp утверждает, что не может автоматически обнаружить:

  • Отправьте идентификатор поставщика и идентификатор устройства как ошибка, патч или запрос новых функций на средстве отслеживания ошибки SourceForge в нашей домашней странице.
  • Если это дает разумный вывод от, "mtp-обнаруживают", затем присоедините результат, а также это преподает нам некоторый материал Вашему устройству.
  • Если это не дает разумный вывод, присоедините вывод от "lsusb-v" для Вашего устройства.
  • Если Вы хотите смочь взломать еще немного, и Вы не боитесь взламывания C, добавляете запись для поставщика/идентификатора продукта своего устройства и описательной строки к базе данных в файле src/music-players.h.
  • Если Вы хотите ввести по абсолютному адресу вокруг, чтобы видеть, имеет ли Ваше устройство некоторые специальные особенности, можно протестировать некоторые флаги специального устройства, определенные в src/device-flags.h путем вставки их вместе с записью устройства в src/music-players.h. Флаги могут быть протестированы в изоляции или соединены с "|" (двоичный файл ИЛИ). Если родственники к Вашему устройству используют определенный флаг, возможности высоки, что новому устройству будет нужно оно также, обычно от того же производителя. Наиболее распространенный флаг, который должен быть установлен, является DEVICE_FLAG_UNLOAD_DRIVER, которые отсоединяют любые драйверы ядра Linux, которые, возможно, подключили к устройству, делающему невозможный доступ MTP.

2
10.03.2013, 09:44
5 ответов

Я нашел этот документ, который объясняет точно, что я искал, я надеюсь, что это полезно для некоторых из Вас http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/ch08s02.html

Прочитайте весь документ, это полно хороших вещей, особенно это:

Когда тема этой книги была сначала представлена мне, я отклонил ее как что-то, что было уже охвачено многочисленной документацией о ядре Linux. Конечно, кто-то уже записал все основы, необходимые, чтобы создать, установить, и настроить ядро Linux, поскольку это, казалось, было очень простой задачей мне.

После рытья через различные ПРАКТИЧЕСКИЕ РУКОВОДСТВА и каталог Documentation ядра Linux, я пришел к выводу, что не было никакого места, где вся эта информация могла быть найдена. Это могло быть подобрано путем ссылки на несколько файлов здесь и несколько устаревших веб-сайтов там, но это не было приемлемо ни для кого, кто не знал точно, что они смотрели во-первых.

Таким образом, эта книга была создана с целью консолидации всей существующей информации, уже рассеянной вокруг Интернета о создании ядра Linux, а также добавлении большой новой и полезной информации, которая не была записана нигде, но была изучена методом проб и ошибок за мои годы выполнения разработки ядра.

Моя секретная цель этой книги состоит в том, чтобы принести большему количеству людей в сгиб разработки ядра Linux. Действие создания специализированного ядра для Вашей машины является одной из основных задач, должен был стать разработчиком ядра Linux. Больше людей, которые испытывают это и понимают, что нет никакого реального волшебства позади целого процесса ядра Linux, больше людей, будет готово вскочить и выручить в создании ядра лучшее, которым это может быть.

0
27.01.2020, 22:14

Странно видеть такой вопрос от хинду пользователя.

Чтобы смочь выбрать глубокомысленно, необходимо знать то, что является каждой опцией о, таким образом, у Вас должно быть основное понимание того, что ядро и как это работает.

Для запуска попытка прочитала хинду ручной http://www.gentoo.org/doc/en/kernel-config.xml, http://kernelnewbies.org/ или Google о ядре Linux.

1
27.01.2020, 22:14
  • 1
    я знаю те источники, но у меня все еще нет ясного понимания. Особенно то хинду руководство является практическим руководством, разработанным, чтобы помочь новым пользователям установить хинду, это не то, что я ищу. –  Vicfred 10.03.2013, 10:31

Самый простой способ узнать надлежащие опции состоял бы в том, чтобы получить "значение по умолчанию" .config файл. Большинство источников ядра распределяется с файлом по умолчанию со всем надлежащим набором опций для различных конфигураций. Они хранятся в конфигурациях каталога в основном каталоге ядра. Если Ваша архитектура/система поддерживается, могло бы быть довольно просто ввести:

make rconfig

где rconfig является названием значения по умолчанию .config файл для Вашей системы, расположенной в папке конфигураций.

После того как это сделано, Вы получаете .config файл в корне ядра со всем набором опций по умолчанию. На данном этапе, если Вы вводите:

make menuconfig

Это загрузит все те значения по умолчанию из нового .config файла, и Ваша задача теперь легче. Просто необходимо просканировать по опциям и видеть, необходимо ли изменить их сами для удовлетворения каким-либо определенным потребностям конфигурации. .config файл является текстовым файлом, который может быть grep-редактором для наблюдения, где опция по умолчанию находится.

Скажем, у Вас есть файл конфигурации по умолчанию, и Вы видите, как можно реализовать туннелирующую поддержку в него. Можно просто сделать следующее:

grep -in 'tun' .config

И Вы будете видеть, что он производит строку:

#CONFIG_TUN = N

После того как Вы удаляете комментарий и помещаете Y вместо N, изменения конфигурации ядра для обеспечения туннелирующего драйвера.

1
27.01.2020, 22:14

Это - то, что я делаю, когда я устанавливаю хинду на новых аппаратных средствах.

  • Запустите с конфигурации по умолчанию от семян ядра

  • Осмотрите (lsmod, modinfo) модули, загруженные livecd (который я выполняю для установки хинду) и, включают им

Это запустило меня с загрузочного ядра, и после этого я продолжаю настраивать опции, сохраняя это ядро как резервное копирование.

1
27.01.2020, 22:14

Вы не получите лучшую скорость от компиляции Вашего собственного ядра. Вы получите опыт и память боли. Вы сохраните сотни килобайтов памяти, если Вы сделаете ее правильно.

Как минимум, выполненный make localmodconfig включать все драйверы, которые в настоящее время загружаются в ядро. Это гарантирует, что Вы не пропускаете некоторый ключевой фактор, который Вы используете прямо сейчас.

Необходимо все еще включать дополнительные драйверы как модули для всего USB и других заменяемых в горячем режиме устройств, которые Вы захотите добавить однажды. Проверьте включение всего, что необходимо загрузить непосредственно в ядре, также. Легче на той передней стороне, если Вы только включаете initramfs возможность и помещаете все остальное как модуль — но не забываете восстанавливать initramfs.

-1
27.01.2020, 22:14
  • 1
    Как я сказал, я делаю это главным образом из-за знания, также Ваш ответ ни на что действительно не отвечает. Следующий раз на самом деле считал вопрос. –  Vicfred 11.03.2013, 01:28
  • 2
    @Vicfred Вы читали мой ответ? Большинство проблем при компиляции собственного ядра происходит из-за упущения необходимого драйвера, и make localmodconfig гарантирует, что включены все необходимые драйверы. –  Gilles 'SO- stop being evil' 11.03.2013, 01:32
  • 3
    Это кажется, что я уже выполняю скомпилированное ядро. Я интересуюсь общими методами знать, какие модули необходимы и которые не являются. –  Vicfred 11.03.2013, 01:59
  • 4
    @Vicfred Там не является никаким общим методом. Необходимо тщательно прочитать описание каждой опции и решить, относится ли это к Вам. В конце концов, если бы была волшебная палочка, то Вы могли бы махнуть, это не была бы забава, не так ли? Если Вы хотите что-то, что работает, используйте инструменты, которые были разработаны для цели и учатся на опыте других. –  Gilles 'SO- stop being evil' 12.03.2013, 00:04
  • 5
    ссылки с помощью инструментов является достаточно общим для меня, я просто хочу знать больше инструментов –  Vicfred 12.03.2013, 08:37

Теги

Похожие вопросы