Почему необходимо для компиляции всего ядра для простого патча?

Можете ли вы запустить X11 в Emacs ? Да, но не то, как вы описываете. Если вы начнете в режиме только текста Sudo init 3 , а затем войдите и запустите Emacs, вы можете начать X, запустив команду STARTX через Emacs. M-! STARTX Это начнет среда X на отдельном экране / терминале, которую вам придется перейти к использованию Ctrl-Alt - # Где # - это чтобы увидеть.

Можете ли вы запустить X11 внутри рамки Emacs? Нет.

Конфигурация для X позволяет указывать экран и соответствующий монитор. Чтобы запустить его внутри рамки EMACS, Emacs должен иметь возможность подражать экрану / монитору, как видно X. с страницы человека для Xorg.conf, «Каждый раздел экрана связывает вместе графическую доску и монитор». Таким образом, Emacs должен иметь некоторые встроенные способности эмулировать видеокарту и монитор. Хотя я предполагаю, что может быть возможно реализовать что-то подобное, я считаю, что это безопасно, это не поведение по умолчанию. Это может быть подтверждено путем рассмотрения исходного кода Emacs.

Исходный код может быть получен со следующей командой.

git clone -b master git://git.sv.gnu.org/emacs.git

Это занимает некоторое время для скачивания.

Если вы просматриваете код, вы увидите, что команды оболочки запускаются через Lisp, и нет специального обращения для графики, на которую нужно делать то, о чем вы говорите. Я полагаю, что конкретный код находится в файле EMACS / LISP / SICE.EL , но Lisp не является одним из моих более сильных языков.

Надеюсь, это отвечает на ваш вопрос. Если у вас есть два монитора, это возможно, вы запускаете EMACS в стандартном терминале на один и х с другой. Вам просто нужно было бы настроить ваши настройки X, чтобы сделать это, но я считаю, что выходит за рамки этого вопроса.

0
10.01.2015, 00:09
1 ответ

Полагаю, ваш вопрос касается природы ядра, и зачем его нужно перекомпилировать.

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

Часть кода является взаимоисключающей с другими частями кода, и вы должны выбрать один вариант или другой.

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

Когда Ubuntu строит ядро для "массы", они гадают, с каким аппаратным обеспечением столкнутся 99% людей и в чём они будут нуждаться. Затем они делят как можно больше на загружаемые модули. Затем они компилируют основное ядро ядра и поставляют его с большинством модулей, которые вам понадобятся. Они делают другие модули доступными с помощью менеджера пакетов.

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

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

Теперь, после первой компиляции, небольшие изменения в конфигурации потребуют только перекомпилировать несколько файлов, которые были затронуты, и это будет намного быстрее. Однако, я подозреваю, что fakeroot debian/rules clean выбрасывает временные файлы и заставляет вас начать всё с нуля. Я бы посоветовал пропустить этот шаг во второй раз. Также, проверьте, использует ли он все ваши процессоры при компиляции. Если нет, то поищите способ сказать ему, чтобы он компилировался параллельно. При компиляции вручную я использую make -j 20, что дает самую быструю производительность на 4-ядерной машине, компилируя по 20 файлов за раз.

2
28.01.2020, 02:36

Теги

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