где взять информацию по ядру?

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

где взять информацию по ядру?

#41

04 окт 2018, 15:12

Dja, Ну тут все просто - в каждом репо свои пакеты. Те что имеют deb-src - смогут выкачать исходники, остальные deb-онли)
Изображение
   
Изображение

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#42

04 окт 2018, 17:38

После отключения флага Network support открыл файл .config в текстовом редакторе kate. И обнаружил, что количество строк уменьшилось с 8549 до 6487. Более двух тысяч строк ухнуло в небытие. Когда же включаешь этот флаг обратно и сохраняешь файл, то количество строк увеличивается обратно к исходному значению.
Это показалось мне странным. Во всех руководствах которые мне попались, пишут, что файл .config и есть тот самый набор опций/параметров ядра. Одна строка = одна опция для конфигурирования. Однако, это, видимо, было раньше (в основном-то, все руководства возрастные) и сейчас не соответствует действительности. Значит, сами "все опции" хранятся где-то в другом месте. Интересно в каком?
Последний раз редактировалось пользователем 1 StarMAUGLI; всего редактировалось раз: 4

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#43

04 окт 2018, 17:46

Hа вопрос топика "где взять информацию по ядру?" нашелся (может быть не полный) ответ.

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

Однако (вспомнил вдруг я), раньше все было не так. Раньше когда интернет был медленный и дорогой любая установка программы начиналась с чтения файла ReadMe. "И вот на третий день великий вождь Зоркий Глаз, заметил..." :-D

Поглядев в папку ~/.../.../linux-4.4.0 чуть попристальней, я сразу обнаружил таковой файл, в котором оказалась довольно много свежей и актуальной информации прямиком от Линуса Торвальдса. Единственная проблема, что все на английском и переводить все равно приходится гуглопереводчиком, а значит лазить в интернет. Как мне говорили, все текущие программы для перевода оффлайн даже в линуксе хуже онлайновых переводчиков.
Помимо этого в этой же папке, есть папка ~/.../.../linux-4.4.0/Documentation в которой тоже информации чуть больше чем до... чем я могу усвоить за раз.

Предположительно, при прочтении всей этой информации количество глупых вопросов должно уменьшится, а качество новых вопросов, напротив, улучшится.

Аватара пользователя

slant
Сообщения: 4504
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1992 раза
Контактная информация:

где взять информацию по ядру?

#44

04 окт 2018, 18:00

... "Если ничего другого не помогает - прочтите наконец инструкцию." (с) Анекдот. :-D

Аватара пользователя

slant
Сообщения: 4504
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1992 раза
Контактная информация:

где взять информацию по ядру?

#45

04 окт 2018, 18:05

StarMAUGLI писал(а):
04 окт 2018, 11:58
Однако, по-моему, ты ошибаешься в интерпретации данного раздела. Здесь не поддержка блочных устройств, а Партишн Тип и Шедулерсы (планировщики).
Это именно поддержка всего базового функционала. Типы разделов, fs, планировщики - это все зависящие от нее опции. Можно сказать - подпункты. Если отключить саму поддержку - они становятся бессмысленными, т.к. от нее зависят.
Оно там вообще слегка напоминает зависимости пакетов - часть опций нужна для работы других опций. Вот ты удивлялся что количество строк сокращается так сильно если поддержку сети выключить - это то-же самое, выключаешь ее и сразу становятся не нужными и исключаются драйвера сетевых устройств, протоколы, фаервалл, и еще много чего.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#46

04 окт 2018, 19:40

Уроки вынесенные из первых попыток анализа процесса конфигурации:
1. Файл .config содержит в себе текущие настройки ядра. Не все возможные, а только текущие. Не смотря на то, что он может быть отредактирован напрямую в текстовом редакторе, и использован для реконфигурации, это (редактура напрямую) похоже плохая идея. Т.к. в этом случае могут быть не удалены/добавлены необходимые строки. Поэтому лучше все-таки пользоваться каким-нибудь из предложенных инструментов по конфигурации.
2. В файле README предлагается больше инструментов для конфигурирования чем в подавляющем большинстве русскоязычных руководств
CONFIGURING the kernel:

Do not skip this step even if you are only upgrading one minor version. New configuration options are added in each release, and odd problems will turn up if the configuration files are not set up as expected. If you want to carry your existing configuration to a new version with minimal work, use "make oldconfig", which will only ask you for the answers to new questions.

- Alternative configuration commands are:

"make config" Plain text interface.

"make menuconfig" Text based color menus, radiolists & dialogs.

"make nconfig" Enhanced text based color menus.

"make xconfig" X windows (Qt) based configuration tool.

"make gconfig" X windows (GTK+) based configuration tool.

"make oldconfig" Default all questions based on the contents of
your existing ./.config file and asking about
new config symbols.

"make silentoldconfig"
Like above, but avoids cluttering the screen with questions already answered.
Additionally updates the dependencies.

"make olddefconfig"
Like above, but sets new symbols to their default values without prompting.

"make defconfig" Create a ./.config file by using the default symbol values from either arch/$ARCH/defconfig
or arch/$ARCH/configs/${PLATFORM}_defconfig, depending on the architecture.

"make ${PLATFORM}_defconfig"
Create a ./.config file by using the default symbol values from
arch/$ARCH/configs/${PLATFORM}_defconfig.
Use "make help" to get a list of all available platforms of your architecture.

"make allyesconfig"
Create a ./.config file by setting symbol values to 'y' as much as possible.

"make allmodconfig"
Create a ./.config file by setting symbol values to 'm' as much as possible.

"make allnoconfig" Create a ./.config file by setting symbol values to 'n' as much as possible.

"make randconfig" Create a ./.config file by setting symbol values to random values.

"make localmodconfig" Create a config based on current config and loaded modules (lsmod). Disables any module option that is not needed for the loaded modules.

To create a localmodconfig for another machine, store the lsmod of that machine into a file and pass it in as a LSMOD parameter.

target$ lsmod > /tmp/mylsmod
target$ scp /tmp/mylsmod host:/tmp

host$ make LSMOD=/tmp/mylsmod localmodconfig

The above also works when cross compiling.

"make localyesconfig" Similar to localmodconfig, except it will convert all module options to built in (=y) options.

You can find more information on using the Linux kernel config tools in Documentation/kbuild/kconfig.txt.

- NOTES on "make config":

- Having unnecessary drivers will make the kernel bigger, and can under some circumstances lead to problems: probing for a nonexistent controller card may confuse your other controllers

- Compiling the kernel with "Processor type" set higher than 386 will result in a kernel that does NOT work on a 386. The kernel will detect this on bootup, and give up.

- A kernel with math-emulation compiled in will still use the coprocessor if one is present: the math emulation will just never get used in that case. The kernel will be slightly larger, but will work on different machines regardless of whether they have a math coprocessor or not.

- The "kernel hacking" configuration details usually result in a bigger or slower kernel (or both), and can even make the kernel less stable by configuring some routines to actively try to break bad code to find kernel problems (kmalloc()). Thus you should probably answer 'n' to the questions for "development", "experimental", or "debugging" features.
КОНФИГУРИРОВАНИЕ Ядра:

Не пропустите этот шаг, даже если вы только обновляете одну младшую версию. В каждую версию добавляются новые параметры конфигурации, и возникают нечетные проблемы, если файлы конфигурации не настроены так, как ожидалось. Если вы хотите перенести свою существующую конфигурацию на новую версию с минимальной работой, используйте команду «make oldconfig», которая будет запрашивать ответы только на новые вопросы.

- Альтернативные команды конфигурации:

«make config» Обычный текстовый интерфейс.

«make menuconfig» Текстовые цветные меню, радиолисты и диалоги.

«make nconfig» Расширенные текстовые цветные меню.

«make xconfig» X-образный (Qt) инструмент настройки.

«make gconfig» X-образный (GTK +) инструмент настройки.

«make oldconfig» По умолчанию все вопросы, основанные на содержании
ваш существующий файл ./.config и спрашиваете о
новые символы конфигурации.

"make silentoldconfig"
Как и выше, но избегает загромождения экрана вопросами, на которые уже ответил.
Дополнительно обновляет зависимости.

"make olddefconfig"
Как и выше, но устанавливает новые символы в значения по умолчанию без подсказки.

«make defconfig» Создайте файл ./.config, используя значения символов по умолчанию из arch / $ ARCH / defconfig
или arch / $ ARCH / configs / $ {PLATFORM} _defconfig, в зависимости от архитектуры.

"make $ {PLATFORM} _defconfig"
Создайте файл ./.config, используя значения символов по умолчанию из
arch / $ ARCH / конфиги / $ {} ПЛАТФОРМА _defconfig.
Используйте «make help», чтобы получить список всех доступных платформ вашей архитектуры.

"make allyesconfig"
Создайте файл ./.config, установив значения символов в «y» как можно больше.

"make allmodconfig"
Создайте файл ./.config, установив значения символов в «m» как можно больше.

«make allnoconfig» Создайте файл ./.config, установив значения символов в «n» как можно больше.

«make randconfig» Создайте файл ./.config, установив значения символов в случайные значения.

«make localmodconfig» Создать конфигурацию на основе текущей конфигурации и загруженных модулей (lsmod). Отключает любой параметр модуля, который не требуется для загруженных модулей.

Чтобы создать localmodconfig для другого компьютера, сохраните lsmod этого компьютера в файл и передайте его как параметр LSMOD.

target $ lsmod> / tmp / mylsmod
target $ scp / tmp / mylsmod host: / tmp

host $ make LSMOD = / tmp / mylsmod localmodconfig

Вышеупомянутое также работает при кросс-компиляции.

«make localyesconfig» Аналогично localmodconfig, за исключением того, что он преобразует все параметры модуля в встроенные (= y) параметры.

Дополнительную информацию об использовании инструментов конфигурации ядра Linux можно найти в Documentation / kbuild / kconfig.txt.

- ПРИМЕЧАНИЯ на «make config»:

- Наличие ненужных драйверов сделает ядро ​​больше и может при определенных обстоятельствах привести к проблемам: зондирование несуществующей карты контроллера может привести к путанице с вашими другими контроллерами

- Компиляция ядра с «Тип процессора», установленным выше 386, приведет к ядру, которое НЕ работает на 386. Ядро обнаружит это при загрузке и сдастся.

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

- Детали конфигурации «хакерство ядра» обычно приводят к большему или более медленному ядру (или и тому и другому) и даже могут сделать ядро ​​менее стабильным, настроив некоторые подпрограммы, чтобы активно пытаться сломать плохой код, чтобы найти проблемы с ядром (kmalloc ()). Таким образом, вы должны, вероятно, ответить «n» на вопросы для «разработки», «экспериментальной» или «отладки».

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#47

05 окт 2018, 00:29

3. В дефолтном конфиге боле 8,5 тыс. строк, каждая из которых является переключателем опции/параметров ядра.
Выучить их все возможно, только если ты систематически и профессионально работаешь с конфигурированием ядра. Для остальных это увлекательный спорт.
Каждая из опций начинается на CONFIG_ ...
И может принимать, в общем случае, одно из трех положений
- выклюечено. # в начале строки и is not set в конце строки
- включено в монолитное ядро =y в конце строки
- включено в подгужаемый модуль =m в конце строки
3.1. Однако, в дефолтном конфиге есть около полутора сотен опций которые записаны иначе.
28 из них в кавычках

Код: Выделить всё

...
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
...
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
...
CONFIG_CROSS_COMPILE=""
...
CONFIG_LOCALVERSION=""
...
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_VERSION_SIGNATURE="Ubuntu 4.4.0-135.161-generic 4.4.140"
...
CONFIG_INITRAMFS_SOURCE=""
...
CONFIG_MODULE_SIG_HASH="sha512"
...
CONFIG_DEFAULT_IOSCHED="deadline"
...
CONFIG_PM_STD_PARTITION=""
...
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
...
CONFIG_DEFAULT_TCP_CONG="cubic"
...
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
...
CONFIG_UEVENT_HELPER_PATH=""
...
CONFIG_EXTRA_FIRMWARE=""
...
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
...
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
...
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
...
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
...
CONFIG_NLS_DEFAULT="utf8"
...
CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
...
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
...
CONFIG_IMA_DEFAULT_HASH="sha1"
...
CONFIG_DEFAULT_SECURITY="apparmor"
...
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
...
CONFIG_SYSTEM_TRUSTED_KEYS=""
...
встречаются также цифровые значения
вот около 100-110 строк в качестве примера
(сколько-то я наверное пропустил, надеюсь, что не очень много, для чистоты поиска надо было искать по-другому, чем делал это я)

Код: Выделить всё

...
CONFIG_PGTABLE_LEVELS=4
...
CONFIG_INIT_ENV_ARG_LIMIT=32
...
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
...
CONFIG_BASE_SMALL=0
...
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
...
CONFIG_X86_MINIMUM_CPU_FAMILY=64
...
CONFIG_NR_CPUS=512
...
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
...
CONFIG_SPLIT_PTLOCK_CPUS=4
...
CONFIG_ZONE_DMA_FLAG=1
...
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
...
CONFIG_CMA_AREAS=7
...
CONFIG_X86_RESERVE_LOW=64
...
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
...
CONFIG_PHYSICAL_START=0x1000000
...
CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x40000000
...
CONFIG_PHYSICAL_ALIGN=0x1000000
...
CONFIG_PM_WAKELOCKS_LIMIT=100
...
CONFIG_IP_VS_TAB_BITS=12
...
CONFIG_IP_VS_SH_TAB_BITS=8
...
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
...
CONFIG_WIMAX_DEBUG_LEVEL=8
...
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
...
CONFIG_BCH_CONST_M=14
CONFIG_BCH_CONST_T=4
...
CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
...
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
...
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
...
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
...
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
...
CONFIG_CDROM_PKTCDVD_BUFFERS=8
...
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
...
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
...
CONFIG_AIC7XXX_DEBUG_MASK=0
...
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=5000
...
CONFIG_AIC79XX_DEBUG_MASK=0
...
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
...
CONFIG_SCSI_EATA_MAX_TAGS=16
...
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
...
CONFIG_SCSI_OSD_DPRINT_SENSE=1
...
CONFIG_FUSION_MAX_SGE=128
...
CONFIG_RIONET_TX_SIZE=128
CONFIG_RIONET_RX_SIZE=128
...
CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
...
CONFIG_DE2104X_DSL=0
...
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
...
CONFIG_DLCI_MAX=8
...
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
...
CONFIG_LEGACY_PTY_COUNT=0
...
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
...
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
...
CONFIG_SERIAL_ARC_NR_PORTS=1
...
CONFIG_SERIAL_RP2_NR_UARTS=32
...
CONFIG_MAX_RAW_DEVS=256
...
CONFIG_DVB_MAX_ADAPTERS=8
...
CONFIG_VIDEO_VIVID_MAX_DEVS=64
...
CONFIG_VGA_ARB_MAX_GPUS=16
...
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
...
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
...
CONFIG_SND_MAX_CARDS=32
...
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
...
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
...
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
...
CONFIG_SND_HDA_PREALLOC_SIZE=64
...
CONFIG_MMC_BLOCK_MINORS=8
...
CONFIG_KS0108_PORT=0x378
CONFIG_KS0108_DELAY=2
...
CONFIG_CFAG12864B_RATE=20
...
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
...
CONFIG_PANEL_PARPORT=0
CONFIG_PANEL_PROFILE=5
...
CONFIG_FWTTY_MAX_TOTAL_PORTS=64
CONFIG_FWTTY_MAX_CARD_PORTS=32
...
CONFIG_FAT_DEFAULT_CODEPAGE=437
...
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
...
CONFIG_FRAME_WARN=1024
...
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
...
CONFIG_RCU_CPU_STALL_TIMEOUT=60
...
CONFIG_KDB_DEFAULT_ENABLE=0x1
...
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
...
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
...
CONFIG_DEFAULT_IO_DELAY_TYPE=1
...
CONFIG_LSM_MMAP_MIN_ADDR=0
...
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
...
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
...
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
...
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
...
CONFIG_IMA_MEASURE_PCR_IDX=10
...
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
...
почему именно так? - можно поразмышлять в каждом конкретном случае. Иногда ответ очевиден, иногда не очень. А иногда и совсем не понятно. Здесь же я просто хотел акцентировать внимание на том, что стандарт оформления отдельных опции/параметров ядра может быть несколько шире трех положений (одно выкл. и два разных вкл.)
Последний раз редактировалось пользователем 4 StarMAUGLI; всего редактировалось раз: 5

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#48

05 окт 2018, 00:35

slant писал(а):
04 окт 2018, 18:05
Вот ты удивлялся что количество строк сокращается так сильно если поддержку сети выключить
нууу, я удивлялся немного другому: мне долго пытались втолковать, что ВСЕ опции перечислены именно в файле .config, а при проверке это оказалось не так.
Поэтому я просто хотел бы "всех посмотреть". Сколько же все-таки их? И какие оне? :-D
Последний раз редактировалось пользователем 1 StarMAUGLI; всего редактировалось раз: 5

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#49

05 окт 2018, 00:38

slant писал(а):
04 окт 2018, 03:44
Есть много мест, в которых там где в 32-битном исполнении нужно две операции, в 64-ном - всего одна. Разница не в 2 раза, т.к. это не везде работает, но она есть и заметна.
Ну на это, наверное, можно возразить, что до сих пор есть много мест, где и 32-бит для адресации это очень много. А при 64 битах, только нули по шине гонять. Типа, не всегда это рентабельно.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#50

05 окт 2018, 03:11

4. Конфигурировать ядро можно не зараз внося все изменения, а постепенно. Файл /boot/config-4.4.0-135-generic оказался полностью идентичен файлу /../../linux-4.4.0/.config, поэтому его можно копировать из текущего загрузочного каталога в каталог где будет проводиться компиляция, переименовывать и использовать для дальнейшего редактирования. При каждом сохранении добавлять свой суффикс и плюс в номер версии. Можно для этих же целей использовать инструментарий из файла README см. #46

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#51

05 окт 2018, 03:55

Первое, что хочется сделать при конфигурации своего ядра, это оптимизировать работу процессора.
Для этого можно отключить поддержку вендоров тех процессоров, что нет на вашем компьютере
(у меня сейчас Intel Core2 Quad Q9300) поэтому я оставляю поддержку только Intel
05_10_18_1.png
Выставляю свой процессор... точнее то, что максимально близко к нему (выбор в данном ядре к сожалению не велик)
05_10_18_2.png
Отключаю все, что хоть как-то связано с AMD
05_10_18_3.png
05_10_18_4.png
05_10_18_5.png
попутно отключаю EFI, т.к. у меня просто авардовский биос
05_10_18_6.png
увеличиваю частоту опроса с 250 до 1000 герц
(вообще про частоту тут https://forum.ubuntu.ru/index.php?topic=77712.0 пишут, что эта настройка перебивается настройкой CONFIG_NO_HZ, которая, я посмотрел, у меня по умолчанию тоже включена) однако, интерфейс у меня подтупливает, поэтому, пожалуй, попробую таки увеличить и посмотреть на поведение компа
05_10_18_7.png
ах, да... еще и IBM включеный по умолчанию, хочу отключить
05_10_18_8.png
Просмотр изменений в файле

Код: Выделить всё

$ diff .config_default .config
325d324
< CONFIG_MODULE_SIG_UEFI=y
411c410
< CONFIG_X86_AMD_PLATFORM_DEVICE=y
---
> # CONFIG_X86_AMD_PLATFORM_DEVICE is not set
434c433
< # CONFIG_MCORE2 is not set
---
> CONFIG_MCORE2=y
436c435
< CONFIG_GENERIC_CPU=y
---
> # CONFIG_GENERIC_CPU is not set
438a438,440
> CONFIG_X86_INTEL_USERCOPY=y
> CONFIG_X86_USE_PPRO_CHECKSUM=y
> CONFIG_X86_P6_NOP=y
446,447c448,449
< CONFIG_CPU_SUP_AMD=y
< CONFIG_CPU_SUP_CENTAUR=y
---
> # CONFIG_CPU_SUP_AMD is not set
> # CONFIG_CPU_SUP_CENTAUR is not set
451,453c453
< CONFIG_GART_IOMMU=y
< CONFIG_CALGARY_IOMMU=y
< CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
---
> # CONFIG_CALGARY_IOMMU is not set
468c468
< CONFIG_X86_MCE_AMD=y
---
> # CONFIG_X86_MCE_AMD is not set
479c479
< CONFIG_MICROCODE_AMD=y
---
> # CONFIG_MICROCODE_AMD is not set
569,572c569
< CONFIG_EFI=y
< CONFIG_EFI_STUB=y
< CONFIG_EFI_MIXED=y
< CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE=y
---
> # CONFIG_EFI is not set
575c572
< CONFIG_HZ_250=y
---
> # CONFIG_HZ_250 is not set
577,578c574,575
< # CONFIG_HZ_1000 is not set
< CONFIG_HZ=250
---
> CONFIG_HZ_1000=y
> CONFIG_HZ=1000
668d664
< CONFIG_ACPI_BGRT=y
708d703
< CONFIG_X86_ACPI_CPUFREQ_CPB=y
710d704
< CONFIG_X86_AMD_FREQ_SENSITIVITY=m
773d766
< CONFIG_AMD_NB=y
5192d5184
< CONFIG_AGP_AMD64=y
5300d5291
< CONFIG_FB_EFI=y
6377d6367
< CONFIG_EDAC_DECODE_MCE=m
6379,6380d6368
< CONFIG_EDAC_AMD64=m
< # CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
6610d6597
< CONFIG_XEN_EFI=y
7472d7458
< CONFIG_AMD_MCE_INJ=m
7552,7563d7537
< 
< #
< # EFI (Extensible Firmware Interface) Support
< #
< CONFIG_EFI_VARS=y
< CONFIG_EFI_ESRT=y
< CONFIG_EFI_VARS_PSTORE=m
< # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
< CONFIG_EFI_RUNTIME_MAP=y
< # CONFIG_EFI_FAKE_MEMMAP is not set
< CONFIG_EFI_RUNTIME_WRAPPERS=y
< CONFIG_EFI_TEST=m
7696d7669
< CONFIG_EFIVAR_FS=y
8133d8105
< CONFIG_EARLY_PRINTK_EFI=y
8136d8107
< # CONFIG_EFI_PGT_DUMP is not set
8144d8114
< # CONFIG_IOMMU_DEBUG is not set
8422d8391
< CONFIG_EFI_SIGNATURE_LIST_PARSER=y
8540d8508
< CONFIG_UCS2_STRING=y
Общее количество строк изменилось не значительно с 8549 до 8516
Может еще чего почикать?

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#52

05 окт 2018, 21:55

Хм. А почему вот здесь
https://habr.com/sandbox/46425/
на скриншоте в xconfig есть справа внизу окошечко с описанием параметров
В конфигураторе в общих чертах (на английском) даётся описание к редактируемым параметрам.
а я запускаю точно ту же команду, но у меня максимум две панели, а третьей с описанием нет.
Может для того, что бы было так же как 6 лет назад, надо какой-то хитрый пакет доустановить?

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#53

19 ноя 2018, 01:45

Продолжаю отключать не нужное. Добрался до поддержки графики Graphics support. Помимо очевидных Intel, ATI и NVidia (из которых надо что-то выбрать, а остальное почикать) чего там только нет! Это какой-то живой уголок палеонтолога:
3dfx Banshee/Voodoo3+, ATI Rage 128, Matrox g200/g400, SiS Video cards, Via unichrome video cards, Savage video cards
19_11_18_01.png
Очевидное решение - все чего нет на борту текущего компьютера - в топку!
А вот по поводу того что есть из железа - стоит призадуматься и погуглить каждый из оставшихся параметров ядра относящихся к этому железу.
Например, для владельцев старых AMD мне попалась информация, что можно в ядре включить Userdpace Modesetting
Это нужно учитывать, если необходимо использовать старые драйверы или режим UMS (UMS иногда показывает большую производительность).
Поскольку у меня амд на компах на сегодняшний день не водятся, то проверить это я никак не могу.

Аватара пользователя

027
Сообщения: 358
Зарегистрирован: 31 авг 2017, 09:05
Решено: 1
Благодарил (а): 26 раз
Поблагодарили: 53 раза
Контактная информация:

где взять информацию по ядру?

#54

02 дек 2018, 13:51

StarMAUGLI писал(а):
01 окт 2018, 18:52
только-только до 3 довел, и на тебе снова-здорово!
Осталось осознать, что весь этот онанизм ничего, кроме красноглазия не даст, и оставить ядро в покое. Красноглазия в плохом смысле.
Что касается выколачивания из мыша реакции на кнопку, это надо мышь менять/чинить, а не в ядро лезть, не имея даже базовых знаний. Ядро мышью вообще не занимается, это не его уровень.

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

где взять информацию по ядру?

#55

04 дек 2018, 09:32

StarMAUGLI писал(а):
19 ноя 2018, 01:45
Очевидное решение - все чего нет на борту текущего компьютера - в топку!
есть же такая штука, как make localmodconfig
kernel.org писал(а):"make localmodconfig" Create a config based on current config and
loaded modules (lsmod). Disables any module
option that is not needed for the loaded modules.
Изображение
   
Изображение

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#56

04 дек 2018, 14:41

Chocobo писал(а):
04 дек 2018, 09:32
есть же такая штука, как make localmodconfig
эээ... а почему это не делается по умолчанию? например, на стадии установки... могли бы задать вопрос если сомневаются? (на счет кодеков, флешплееров и прочей проприетари не трудно спросить, а здесь заклямкло)
...и почему это не рекомендуют как первый шаг для новичков, которые хотят поковыряться с ядром? (я видел этот вариант в книгах/статьях/руководствах, но про него как-то так вскользь, как про неосновной и очень второстепенный упоминают, а так-то любой комп от этого только выиграл)
Или я чего-то очевидного не догоняю?
Ы?

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

где взять информацию по ядру?

#57

04 дек 2018, 14:49

StarMAUGLI писал(а):
04 дек 2018, 14:41
эээ... а почему это не делается по умолчанию? например, на стадии установки...
на стадии установки ОС пересобрать ядро? :blink2: Операция мягко говоря ресурсозатратная и не быстрая.

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

Идущее искаропки ядро должно быть максимально универсальным под зоопарк пользовательского железа и юзкейсов, а то что его еще можно пересобрать - наслышан почти любой)
StarMAUGLI писал(а):
04 дек 2018, 14:41
почему это не рекомендуют как первый шаг для новичков, которые хотят поковыряться с ядром?
Вполне себе рекомендуют)
https://help.ubuntu.ru/wiki/%D1%81%D0%B ... 0%BE%D0%B2
Изображение
   
Изображение

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1650
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 697 раз
Поблагодарили: 187 раз
Контактная информация:

где взять информацию по ядру?

#58

11 янв 2019, 15:34

Еще ссылочка по ядру кому интересно поковырять чуть поглубже
http://rflinux.blogspot.com/

Закрыто

Вернуться в «Вопрос новичка и FaQ»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей