BuildRoot

встраиваемые модели

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:04

Olej писал(а): - почему инициализировался UART терминал, но не произошло создание консолей на локальном мониторе HDMI? что нужно добавить ... как-то я туплю :(
Пересобрал систему с инициализацией systemd (мне такое поведение привычнее и понятней).

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

# ls -w120 /dev/tty*
/dev/tty    /dev/tty38  /dev/ttyS1  /dev/ttyba  /dev/ttydb  /dev/ttypc  /dev/ttyrd  /dev/ttyte  /dev/ttyvf  /dev/ttyy0
/dev/tty0   /dev/tty39  /dev/ttyS2  /dev/ttybb  /dev/ttydc  /dev/ttypd  /dev/ttyre  /dev/ttytf  /dev/ttyw0  /dev/ttyy1
/dev/tty1   /dev/tty4   /dev/ttyS3  /dev/ttybc  /dev/ttydd  /dev/ttype  /dev/ttyrf  /dev/ttyu0  /dev/ttyw1  /dev/ttyy2

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

# stty < /dev/tty3
speed 38400 baud; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-brkint -imaxbel iutf8

# systemctl status getty@tty3.service
● getty@tty3.service - Getty on tty3
   Loaded: loaded (/usr/lib/systemd/system/getty@.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:agetty(8)
           man:systemd-getty-generator(8)
           http://0pointer.de/blog/projects/serial-console.html

# systemctl start getty@tty3.service

# stty < /dev/tty3
speed 38400 baud; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-brkint -icrnl -imaxbel
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

# systemctl status getty@tty3.service
● getty@tty3.service - Getty on tty3
   Loaded: loaded (/usr/lib/systemd/system/getty@.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-01-28 16:16:22 UTC; 1h 26min ago
     Docs: man:agetty(8)
           man:systemd-getty-generator(8)
           http://0pointer.de/blog/projects/serial-console.html
 Main PID: 188 (getty)
   CGroup: /system.slice/system-getty.slice/getty@tty3.service
           └─188 /sbin/getty -L tty3 115200 vt100

Jan 28 16:16:22 OrangePi_One systemd[1]: Started Getty on tty3.
Такое впечатление, что терминальная система инициализирована...
И локальная клавиатура (терминала!) воспринимается - по крайней мере Ctrl+Alt+Del приводит к перезагрузке, что я и вижу на UART отладочной консоли.
Но просто такое впечатление, что HDMI видео каким-то образом не инициализируется ... такое его состояние как "нет сигнала".
Но тот же монитор, на том же HDMI, с тем же переходником HDMI-VGA отображает после загрузки Armbian сборки текстовую консоль с login...
Куда копать?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:06

Olej писал(а):Куда копать?
Подсказали на другом форуме:
В сторону драйвера дисплея, в mainline ядре поддержки Н3 до сих пор нет.
Сейчас пока всё делается через U-Boot, он сам настраивает HDMI, создает под это фреймбуфер и передает его ядру в готовом виде, не помню как эта технология называется.
Ядро работает только с /dev/fb*. посмотри есть они у тебя?
И кстати u-boot на дисплей что ни будь выводит?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:08

Ядро работает только с /dev/fb*. посмотри есть они у тебя?

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

# ls -l /dev/fb*
ls: /dev/fb*: No such file or directory
И кстати u-boot на дисплей что ни будь выводит?
Имеется в виду локальный дисплей, монитор? Нет, на него ничего не выводится, ни с U-boot, ни дальше системой - монитор показывает заставку от DELL так же, как он это делает при полном отсутствии сигнала.
Весь вывод, начиная от U-boot идет на /dev/ttyS0 (которая и есть единственная инициализированная консоль) и дальше через UART на внешний отладочный компьютер:

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

# ls -w120 /dev/ttyS*
/dev/ttyS0  /dev/ttyS1  /dev/ttyS2  /dev/ttyS3  /dev/ttyS4  /dev/ttyS5  /dev/ttyS6  /dev/ttyS7
 
# stty < /dev/ttyS0
speed 115200 baud; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = 
; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-brkint ixoff -imaxbel
-iexten

# stty < /dev/ttyS1
stty: standard input: Input/output error

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:15

Загрузочный раздел (/boot) собранного образа (FAT32, /dev/mmcblk0p1) ... он не монтируется при загрузке, его можно примонтировать в хост-системе, посмотреть:

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

# mount -tvfat /dev/mmcblk0p1 /mnt/boot

# ls -la /mnt/boot
total 3523
drwxr-xr-x    2 root     root         16384 Jan  1  1970 .
drwxr-xr-x    3 root     root          1024 Jan 28 16:35 ..
-rwxr-xr-x    1 root     root           301 Jun 29  2018 boot.scr
-rwxr-xr-x    1 root     root         13008 Jun 29  2018 sun8i-h3-orangepi-one.dtb
-rwxr-xr-x    1 root     root       3572480 Jun 29  2018 zImage
И нет там больше ничего ... ни скрытого, ни явного...

Вот этот sun8i-h3-orangepi-one.dtb он взял, точнее скомпилировал из sun8i-h3-orangepi-one.dts, который находится в дереве исходников используемого ядра, у меня это 4.9.51:

Обнаружились интересные вещи (относительно BuildRoot, естественно)...
Сравнил его с /boot образа Armbian:

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

[olej@dell Armbian]$ ls -l
итого 10004
-rw-rw-r-- 1 root root    3708 янв 27 19:11 boot.scr
lrwxrwxrwx 1 root root       2 июл  2 00:21 dtb -> ./
-rw-r--r-- 1 root root 5099078 июн  8 11:58 initrd.img-4.14.48-sunxi
-rw-r--r-- 1 root root   32002 июн  6 20:02 sun8i-h3-orangepi-one.dtb
lrwxrwxrwx 1 root root      21 июл  2 00:21 uInitrd -> uInitrd-4.14.48-sunxi
-rw-r--r-- 1 root root 5099142 июн  8 11:58 uInitrd-4.14.48-sunxi
Предполагая (возможно сдуру), что, может, собранному миниобразу что-то не хватает из инициализируемых устройств из .dtb ... - перенёс (тупо скопировал) sun8i-h3-orangepi-one.dtb + boot.scr из Armbian в собранный образ (испортив его, естественно)...
И о чудеса: загрузка начинается с отображением и на UART и на монитор ... значит тот свежий U-boot, который BuildRoot подставляет для сборки Orange Pi делает всю необходимою инициализацию HDMI...
А boot.scr - это скрипт, детализирующий работу U-boot ... так же как конфиг-файл в GRUB для x86.
Посмотрел в Armbian boot.scr:

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

setenv console "both"
...
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi
if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "${consoleargs} console=ttyS0,115200"; fi
...
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} hdmi.audio=EDID:0 disp.screen0_output_mode=${disp_mode} panic=10 consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} ubootsource=${devtype} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
...

А в собранном BuildRoot образе boot.scr:

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

setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 
rootwait
Вот она и вся разница, определяющая использовать или не использовать tty1.

P.S. Собственно, это и описано u-boot for Allwinner sunxi series of SoCs (A10, A13, A10s, and A20)
Remember to leave sufficient space for all u-boot files when partitioning the card. Recommended to have first partition start at sector 2048 (1MB), or much higher if using Falcon boot mode.
boot.scr support
This version of u-boot supports boot.scr, and will look for it in the first partition FAT /boot.scr or extX /boot.scr or extX /boot/boot.scr. boot.scr contains your needed uboot commands for loading script.bin, kernel. initrd (optional), setting kernel parameters and booting.
...
... ну и там далее ...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:16

U-boot уже работает (пишет) с HDMI (tty1). ;)
Сделал это так (как почти, собственно, и предполагал вчера):
1. в BuildRoot нашёл board/orangepi/orangepi-one/boot.cmd из которого генерится boot.scr:

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

setenv fdt_high ffffffff

setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait

fatload mmc 0 $kernel_addr_r zImage
fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-one.dtb

bootz $kernel_addr_r - $fdt_addr_r

2. дописал туда в 1 строчку (подсмотрел в Armbian boot.scr):

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

setenv bootargs console=tty1 console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
3. сгенерировал новый boot.scr (в /boot смонтированного образа SD):

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

[olej@xenix F809-A3B8]$ mkimage -C none -A arm -T script -d boot1.cmd boot2.scr
Image Name:
Created:      Mon Jul  2 11:24:58 2018
Image Type:   ARM Linux Script (uncompressed)
Data Size:    250 Bytes = 0.24 KiB = 0.00 MiB
Load Address: 00000000
Entry Point:  00000000
Contents:
   Image 0: 242 Bytes = 0.24 KiB = 0.00 MiB
4. mkimage на этом компьютере пришлось найти и доустановить:

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

[olej@xenix F809-A3B8]$ sudo dnf install uboot-tool
...
Вот после этого всего U-boot пишет на терминал (HDMI монитор):

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

U-Boot SPL 2018.01 (Jun 29 2018 - 19:21:08)
DRAM: 512 MiB
Trying to boot from MMC1


U-Boot 2018.01 (Jun 29 2018 - 19:21:08 +0300) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi One
DRAM:  512 MiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   phy interface0
eth0: ethernet@1c30000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 1 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
314 bytes read in 16 ms (18.6 KiB/s)
## Executing script at 43100000
reading zImage
3572480 bytes read in 325 ms (10.5 MiB/s)
reading sun8i-h3-orangepi-one.dtb
13008 bytes read in 29 ms (437.5 KiB/s)
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Using Device Tree in place at 43000000, end 430062cf
Cannot setup simplefb: node not found

Starting kernel ...
До слов "Starting kernel"...
Дальше tty отключается ... и системная загрузка дальше контролируется только через UART:

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

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.51 (olej@xenix.localdomain) (gcc version 7.3.0 (Buildroot 2018.08-git) ) #1 SMP Fri Jun 29 19:27:00 EEST 2018
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
...
Т.е. да, U-boot для системы не создаёт фреймбуфер(а) ...
Но в BuildRoot масса тонких настроек параметров и поведения (кроме самого построителя образа BuildRoot) и ядра (CONFIG_*) и U-boot.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:17

По поводу фреймбуфера ... хотя бы чтобы понимать эту технику, см. Linux Graphics Drivers: an Introduction
Version 3
Stéphane Marchesin
<stephane.marchesin@gmail.com>
March 15, 2012
стр.31-34:
Chapter 4
Framebuffer Drivers

Framebuffer drivers are the simplest form of graphics drivers under Linux. A framebuffer driver is a kernel graphics driver exposing its interface through /dev/fb*. This interface implements limited functionality (basically it allows setting a video mode and drawing to a linear framebuffer), and the framebuffer drivers are therefore extremely easy to create. Despite their simplicity, framebuffer drivers are still a relevant option if the only thing you are after is a basic two-dimensional display. It is also useful to know how framebuffer drivers work when implementing framebuffer acceleration for a kernel modesetting DRM driver, as the acceleration callbacks are the same. In short, framebuffer drivers are especially interesting for embedded systems, where memory footprint is essential, or when the intended applications do not require advanced graphics acceleration.
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:19

Olej писал(а): По поводу фреймбуфера ... хотя бы чтобы понимать эту технику, см. Linux Graphics Drivers: an Introduction
А теперь прямо в десктопе рабочем ... чтобы не откладывать - тупо спрашиваю:

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

[olej@xenix RTLinux]$ cat /boot/config-4.16.13-200.fc27.x86_64 | grep FRAME
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_FRAME_VECTOR=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAME_WARN=2048
# CONFIG_UNWINDER_FRAME_POINTER is not set
И:

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

[olej@xenix RTLinux]$ ls -l /dev/fb*
crw-rw---- 1 root video 29, 0 июл 13 15:05 /dev/fb0
P.S.

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

[olej@xenix RTLinux]$ lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 27 (Twenty Seven)
Release:	27
Codename:	TwentySeven

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 15:22

Olej писал(а): А теперь прямо в десктопе рабочем ... чтобы не откладывать - тупо спрашиваю:
И специально перепроверил в совершенно другом дистрибутиве:

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

olej@nvidia ~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	LinuxMint
Description:	Linux Mint 18.3 Sylvia
Release:	18.3
Codename:	sylvia

olej@nvidia ~ $ uname -a
Linux nvidia 4.15.0-24-generic #26~16.04.1-Ubuntu SMP Fri Jun 15 14:35:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

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

olej@nvidia ~ $ ls -l /dev/fb*
crw-rw---- 1 root video 29, 0 июл 12 15:58 /dev/fb0

olej@nvidia ~ $ cat /boot/config-4.15.0-24-generic | grep FRAME
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_FRAME_VECTOR=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAME_WARN=1024
CONFIG_FRAME_POINTER=y
CONFIG_UNWINDER_FRAME_POINTER=y

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 17:02

Olej писал(а): А теперь прямо в десктопе рабочем ... чтобы не откладывать - тупо спрашиваю:
Ещё интереснее просто визуально пройтись редактором по /boot/config-4.16.13-200.fc27.x86_64:

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

#
# Frame buffer Devices
#
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=m
CONFIG_FB_SVGALIB=m
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

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

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
CONFIG_FB_PM2=m
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=m
CONFIG_FB_CYBER2000_DDC=y
CONFIG_FB_ARC=m
CONFIG_FB_ASILIANT=y
CONFIG_FB_IMSTT=y
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_N411=m
CONFIG_FB_HGA=m
CONFIG_FB_OPENCORES=m
CONFIG_FB_S1D13XXX=m
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=m
CONFIG_FB_RIVA_I2C=y
# CONFIG_FB_RIVA_DEBUG is not set
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_I740=m
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
CONFIG_FB_INTEL=m
# CONFIG_FB_INTEL_DEBUG is not set
CONFIG_FB_INTEL_I2C=y
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MAVEN=m
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=m
CONFIG_FB_S3_DDC=y
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
# CONFIG_FB_SAVAGE_ACCEL is not set
CONFIG_FB_SIS=m
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not set
CONFIG_FB_VIA_X_COMPATIBILITY=y
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not set
# CONFIG_FB_3DFX_I2C is not set
CONFIG_FB_VOODOO1=m
CONFIG_FB_VT8623=m
CONFIG_FB_TRIDENT=m
CONFIG_FB_ARK=m
CONFIG_FB_PM3=m
CONFIG_FB_CARMINE=m
CONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not set
CONFIG_FB_SM501=m
CONFIG_FB_SMSCUFX=m
CONFIG_FB_UDL=m
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_XEN_FBDEV_FRONTEND=m
CONFIG_FB_METRONOME=m
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_FB_MB862XX_I2C=y
CONFIG_FB_BROADSHEET=m
CONFIG_FB_AUO_K190X=m
CONFIG_FB_AUO_K1900=m
CONFIG_FB_AUO_K1901=m
CONFIG_FB_HYPERV=m
CONFIG_FB_SIMPLE=y
CONFIG_FB_SM712=m
...
А обсуждение более-менее внятное таких параметров (не всех, естественно) находим в таком давнем тексте, написанном Алекссем Федорчуком (alv) ещё аж в 2003-м году: Описание опций конфигурирования ядра Linux (linux kernel config howto):

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

...
Frame-buffer support

   Поддержка т.н. графической консоли через Frame Buffer. Один из
   следующих вариантов может быть включен как модуль (наряду с встроенной
   в ядро VGA text console) или встроен в ядро (в этом случае VGA text
   console следует отключить).

Support for frame buffer devices

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

Frame buffer Boot Logo

   Выбор логотипа при загрузке - по умолчанию включается при включении
   поддержки frame buffer и показывает пингвина Tux'а. Варианты выбора
   зависят от дистрибутива. Если при старте системы предполагается
   загрузка графической консоли с разрешение 640x480, следует отключить,
   иначе система не загрузится вообще (впрочем, отключение логотипа не
   всегда возможно).

   Далее идут опции поддержки нескольких типов графических чипов. Они
   далеко не всегда работают должным образом (а иногда не работают
   вовсе). В этом случае нужно выбрать поддержку стандартной
   VESA-консоли.
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: BuildRoot

Непрочитанное сообщение Olej » 14 июл 2018, 21:24

Olej писал(а): Ещё интереснее просто визуально пройтись редактором по /boot/config-4.16.13-200.fc27.x86_64:
А теперь заглянул подсмотреть ;-) что там в CONFIG ставят в Armbian сборке под Orange Pi One (см. сборки ядра/образа Orange Pi):

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

[olej@xenix boot]$ cat config-4.14.48-sunxi | grep FRAME
CONFIG_FRAME_VECTOR=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAME_WARN=1024

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

[olej@xenix boot]$ cat config-4.14.48-sunxi | grep _FB_
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
CONFIG_FB_SIMPLE=y
# CONFIG_FB_SSD1307 is not set
CONFIG_FB_TFT=m
CONFIG_FB_TFT_AGM1264K_FL=m
CONFIG_FB_TFT_BD663474=m
CONFIG_FB_TFT_HX8340BN=m
CONFIG_FB_TFT_HX8347D=m
CONFIG_FB_TFT_HX8353D=m
CONFIG_FB_TFT_HX8357D=m
CONFIG_FB_TFT_ILI9163=m
CONFIG_FB_TFT_ILI9320=m
CONFIG_FB_TFT_ILI9325=m
CONFIG_FB_TFT_ILI9340=m
CONFIG_FB_TFT_ILI9341=m
CONFIG_FB_TFT_ILI9481=m
CONFIG_FB_TFT_ILI9486=m
CONFIG_FB_TFT_PCD8544=m
CONFIG_FB_TFT_RA8875=m
CONFIG_FB_TFT_S6D02A1=m
CONFIG_FB_TFT_S6D1121=m
CONFIG_FB_TFT_SH1106=m
CONFIG_FB_TFT_SSD1289=m
CONFIG_FB_TFT_SSD1305=m
CONFIG_FB_TFT_SSD1306=m
CONFIG_FB_TFT_SSD1325=m
CONFIG_FB_TFT_SSD1331=m
CONFIG_FB_TFT_SSD1351=m
CONFIG_FB_TFT_ST7735R=m
CONFIG_FB_TFT_ST7789V=m
CONFIG_FB_TFT_TINYLCD=m
CONFIG_FB_TFT_TLS8204=m
CONFIG_FB_TFT_UC1611=m
CONFIG_FB_TFT_UC1701=m
CONFIG_FB_TFT_UPD161704=m
CONFIG_FB_TFT_WATTEROTT=m
CONFIG_FB_FLEX=m
CONFIG_FB_TFT_FBTFT_DEVICE=m
Может достаточно тупо выставить так же конфиги при сборке BuildRoot?

Ответить

Вернуться в «Одноплатные компьютеры»

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

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