LINUX.ORG.RU

Хочу консоль на основном дисплее на x86

 , , ,


0

1

Что я упустил, почему нет консоли?

grep -i console .config

# CONFIG_NETCONSOLE is not set
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# Console display driver support
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7

x86-64 плата с UEFI биосом.

★★★★★

Последнее исправление: UVV (всего исправлений: 1)

А

CONFIG_TTY=y
CONFIG_VT=y
кто включать будет? Не говоря уже о
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=32
и
CONFIG_DEVMEM=y
CONFIG_DEVKMEM=y

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

Спасибо за советы, но есть пара комментов:

CONFIG_DEVMEM=y
CONFIG_DEVKMEM=y

Не имеет отношение к графике как бы.

CONFIG_TTY=y
CONFIG_VT=y
CONFIG_UNIX98_PTYS=y

Уже было включено, забыл о них упомянуть.

CONFIG_DEVPTS_MULTIPLE_INSTANCES=y

Нет такого параметра в моём ядре. 4.12 и 4 13

CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=32

Тоже не нужны как бы.

Короче проблема решилась включением следующих опций:

CONFIG_AGP
CONFIG_DRM
CONFIG_DRM_FBDEV_EMULATION
CONFIG_DRM_I915
CONFIG_DRM_I915_CAPTURE_ERROR
CONFIG_FRAMEBUFFER_CONSOLE
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
CONFIG_DRM_I915_USERPTR

Я просто смекнул, что вывод идёт через встроенную видео, а дрова соответствующие не подключены.

UVV ★★★★★
() автор топика

прочёл тему сверху вниз, но так и не понял, о чём речь

правда, uefi никогда в глаза не видел - речь об uefi?

buratino ★★★★★
()
Ответ на: комментарий от vvn_black

Спасибо за мной не заржавеет, но один включённый фреймбуфер ничего не давал без включенных дров на видео.

P.S.: Могу сейчас ещё раз попробовать, может путаю чего.

UVV ★★★★★
() автор топика
Последнее исправление: UVV (всего исправлений: 1)
Ответ на: комментарий от UVV

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

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

Ты обиделся, что я тебя отдельно не выделил? Просто в комментах выше было «спасибо» уже дважды. Видать невеждество во всём видишь только ты.

UVV ★★★★★
() автор топика
Ответ на: комментарий от Dark_SavanT

cast vvn_black (а то вдруг опять обидится)

Таки помогло, спасибо. Вопрос по UEFI тогда, почему нельзя получить обычную legacy консоль 80х25 и обязательно нужен framebuffer?

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

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

ananas ★★★★★
()
Ответ на: комментарий от ananas

OK, теперь всё стало ясно. Спасибо.

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Не имеет отношение к графике как бы.

Зато имеет отношение к «Character devices», куда относится и ядерная консоль.

saahriktu ★★★★★
()
Ответ на: комментарий от ananas

а зачем там биос, вроде как она путём записи в память знакогенератора видяхи по адресу B8000 работает, чем uefi этому мешает?

Harald ★★★★★
()
Ответ на: комментарий от Harald

это разве что под дос-ом. а здесь еще сначала физическую память на виртуальную промапить нужно.

за подробностями - /usr/src/linux/drivers/video/console/{dummi,vga}con.c

static const char *vgacon_startup(void)
{
 ...
    if (screen_info.orig_video_isVGA == VIDEO_TYPE_VLFB ||
        screen_info.orig_video_isVGA == VIDEO_TYPE_EFI) {
          no_vga:
#ifdef CONFIG_DUMMY_CONSOLE
        conswitchp = &dummy_con;
        return conswitchp->con_startup();
#else
        return NULL;
#endif
    }

это в vgacon.c. в случае efi включается dummy_con, а это - сплошные заглушки типа { return 0; }

ananas ★★★★★
()
Ответ на: комментарий от UVV

в случае UEFI у тебя в общем случае нет legacy консоли, а только uefi framebuffer, в который ядро уже гадит как может.

Dark_SavanT ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.