Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Oct 23, 2020 12:31 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 13 posts ] 
Author Message
PostPosted: Tue Aug 20, 2019 6:02 pm 
Offline

Joined: Tue Aug 20, 2019 5:48 pm
Posts: 6
На Thinkpad x230 по этой статье прошил свежий Coreboot с SeaBIOS в качестве Payload.

Попытался добавить KolibriOS и наткнулся на нехватку места:
Code:
$ ./build/cbfstool build/coreboot.rom add -f ./build/kolibri.img -n floppyimg/kolibri.lzma -t raw -c lzma
E: Could not add [./build/kolibri.img, 1293553 bytes (1263 KB)@0x0]; too big?
E: Failed to add './build/kolibri.img' into ROM image.
E: Failed while operating on 'COREBOOT' region!
E: The image will be left unmodified.

Протестировал добавление похожих микро ОС (MichalOS и Snowdrop), они добавились успешно. Они сжимаются до нескольких сотен килобайт.
Есть ли какой-то способ решить проблему?


Top
   
PostPosted: Thu Aug 22, 2019 9:45 pm 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1412
Возьми WinImg и сотри всякий мусор с kolibri.img.
по хорошему, для загрузки требуется только kernel.mnt , шрифты и пара десятков крошечных программ.
всё должно отлично сжаться хотя бы до 200кбайт
всяких монстров вроде драйвера ati можно подгрузить с диска и потом

PS. я уже не помню когда с 4мб SPI ROM чипами работал.
сейчас дешевле впаять 64мб чип в том же корпусе, чем найти такой раритет

_________________
Евангелие от Иоанна: стих 1
Code:
; В начале было Слово:
B32:        mov     ax, os_stack       ; Selector for os


Top
   
PostPosted: Fri Oct 25, 2019 5:49 pm 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 157
art_zh wrote:
PS. я уже не помню когда с 4мб SPI ROM чипами работал.
сейчас дешевле впаять 64мб чип в том же корпусе, чем найти такой раритет
SOIC-8 максимум 16МБ (128 МБит) в природе видел.


Top
   
PostPosted: Fri Oct 25, 2019 5:53 pm 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 157
koteg94 wrote:
Есть ли какой-то способ решить проблему?
На AMD-шном Lenovo G505S ( viewtopic.php?f=25&t=3446 ) сам coreboot весит меньше мегабайта, и Kolibri прекрасно влезает.
Почему твой коребут оказался таким жирным? - скорее всего из-за интеловских блобов в составе коребута.
Попробуй порезать их по максимуму, например ME при помощи me_cleaner - https://github.com/corna/me_cleaner


Top
   
PostPosted: Thu Jun 04, 2020 12:28 pm 
Offline

Joined: Tue Aug 20, 2019 5:48 pm
Posts: 6
floppy121 wrote:
koteg94 wrote:
Есть ли какой-то способ решить проблему?
На AMD-шном Lenovo G505S ( viewtopic.php?f=25&t=3446 ) сам coreboot весит меньше мегабайта, и Kolibri прекрасно влезает.
Почему твой коребут оказался таким жирным? - скорее всего из-за интеловских блобов в составе коребута.
Попробуй порезать их по максимуму, например ME при помощи me_cleaner - https://github.com/corna/me_cleaner

При сборке coreboot в make nconfig помечен ME для резки.
Code:
FMAP REGION: COREBOOT
Name                           Offset     Type           Size   Comp
cbfs master header             0x0        cbfs header        32 none
fallback/romstage              0x80       stage           80588 none
cpu_microcode_blob.bin         0x13bc0    microcode       26624 none
fallback/ramstage              0x1a440    stage          115629 none
config                         0x36840    raw               735 none
revision                       0x36b80    raw               674 none
fallback/dsdt.aml              0x36e80    raw             14521 none
cmos.default                   0x3a7c0    cmos_default      256 none
vbt.bin                        0x3a900    raw              1433 LZMA (4281 decompressed)
cmos_layout.bin                0x3af00    cmos_layout      1884 none
pci8086,0166.rom               0x3b6c0    optionrom       65536 none
fallback/postcar               0x4b740    stage           19060 none
img/nvramcui                   0x50200    simple elf      68721 none
fallback/payload               0x60ec0    simple elf      68602 none
payload_config                 0x71b00    raw              1639 none
payload_revision               0x721c0    raw               237 none
bootorder                      0x72300    raw               294 none
etc/ps2-keyboard-spinup        0x72480    raw                 8 none
etc/threads                    0x724c0    raw                 8 none
(empty)                        0x72500    null           448664 none
bootblock                      0xdfdc0    bootblock       65536 none

Если не пометить для резки получается почти такой же размер.
Code:
FMAP REGION: COREBOOT
Name                           Offset     Type           Size   Comp
cbfs master header             0x0        cbfs header        32 none
fallback/romstage              0x80       stage           80588 none
cpu_microcode_blob.bin         0x13bc0    microcode       26624 none
fallback/ramstage              0x1a440    stage          115629 none
config                         0x36840    raw               693 none
revision                       0x36b40    raw               674 none
fallback/dsdt.aml              0x36e40    raw             14521 none
cmos.default                   0x3a780    cmos_default      256 none
vbt.bin                        0x3a8c0    raw              1433 LZMA (4281 decompressed)
cmos_layout.bin                0x3aec0    cmos_layout      1884 none
pci8086,0166.rom               0x3b680    optionrom       65536 none
fallback/postcar               0x4b700    stage           19060 none
img/nvramcui                   0x501c0    simple elf      68721 none
fallback/payload               0x60e80    simple elf      68602 none
payload_config                 0x71ac0    raw              1639 none
payload_revision               0x72180    raw               237 none
bootorder                      0x722c0    raw               294 none
etc/ps2-keyboard-spinup        0x72440    raw                 8 none
etc/threads                    0x72480    raw                 8 none
(empty)                        0x724c0    null           448728 none
bootblock                      0xdfdc0    bootblock       65536 none


Может быть причина в том что на X230 два чипа 4mb+8mb и ME во втором чипе где места больше. Как kolibri добавить именно во второй чип?


Top
   
PostPosted: Thu Jun 04, 2020 1:00 pm 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 157
koteg94 wrote:
Code:
...
bootblock                      0xdfdc0    bootblock       65536 none
Может быть причина в том что на X230 два чипа 4mb+8mb и ME во втором чипе где места больше. Как kolibri добавить именно во второй чип?
я не эксперт по интеловским блобам и нескольким чипам, но судя по распечатке cbfstool выше - у тебя размер чипа выбран 8 Мегабит = 1 МегаБайт! Судя по тому, что последний элемент - bootblock - у тебя начинается по адресу 0xdfdc0 (ближе к 0x100000) , а у меня по 0x3f7dc0 (ближе к 0x400000) для 4 МегаБайт чипа. Проверь, что в твоём коребутовском конфиге размер БИОС-чипа выставлен правильно, и размер файловой системы CBFS выбран равным размеру БИОС-чипа а не его части (если только оставшееся "неразмеченное" место не нужно для интеловских блобов)

Если дело было именно в этом, то после того как пересоберёшь coreboot - у тебя и KolibriOS влезет, и может быть другие дискеты. Посмотри скрипт ./csb_patcher.sh, который помогает выкачать и добавить интересные дискеты, а также - помимо других патчей - предлагает патч SeaBIOS для поддержки нескольких дискет: http://dangerousprototypes.com/docs/Len ... cking#NEWS


Top
   
PostPosted: Thu Jun 04, 2020 1:46 pm 
Offline

Joined: Tue Aug 20, 2019 5:48 pm
Posts: 6
В конфиге у меня выбрано 12 мб
Spoiler: Show
Code:
Mainboard vendor (Lenovo)  --->      
Mainboard model (ThinkPad X230)  --->
(LENOVO) Mainboard vendor name       
ROM chip size (12288 KB (12 MB))  --->       
System Power State after Failure (S5 Soft Off)  --->
()  fmap description file in fmd format     
(0x100000) Size of CBFS filesystem in ROM

Если выбрать 8 собирается так же, а выбрав 4 получается ошибка:
Spoiler: Show
Code:
IFDTOOL    me.bin -> coreboot.pre
File build/coreboot.pre is 4194304 bytes
File 3rdparty/blobs/mainboard/lenovo/x230/me.bin is 5230592 bytes
Output file is too small. (4194304 < 5242880)
make: *** [src/southbridge/intel/common/firmware/Makefile.inc:34: add_intel_firmware] Error 1


Какой тогда правильный адрес нужно указать в Size of CBFS? В документации ничего не нашел https://doc.coreboot.org/mainboard/leno ... eries.html

Указал 0x400000 получилось почти 4 мб свободного места. Есть ли правильный размер или найти его только методом проб и ошибок?
Spoiler: Show
Code:
FMAP REGION: COREBOOT
Name                           Offset     Type           Size   Comp
cbfs master header             0x0        cbfs header        32 none
fallback/romstage              0x80       stage           80588 none
cpu_microcode_blob.bin         0x13bc0    microcode       26624 none
fallback/ramstage              0x1a440    stage          115629 none
config                         0x36840    raw               761 none
revision                       0x36b80    raw               674 none
fallback/dsdt.aml              0x36e80    raw             14521 none
cmos.default                   0x3a7c0    cmos_default      256 none
vbt.bin                        0x3a900    raw              1433 LZMA (4281 decompressed)
cmos_layout.bin                0x3af00    cmos_layout      1884 none
pci8086,0166.rom               0x3b6c0    optionrom       65536 none
fallback/postcar               0x4b740    stage           19060 none
img/nvramcui                   0x50200    simple elf      68721 none
fallback/payload               0x60ec0    simple elf      68602 none
payload_config                 0x71b00    raw              1639 none
payload_revision               0x721c0    raw               237 none
bootorder                      0x72300    raw               294 none
etc/ps2-keyboard-spinup        0x72480    raw                 8 none
etc/threads                    0x724c0    raw                 8 none
(empty)                        0x72500    null          3594392 none
bootblock                      0x3dfdc0   bootblock       65536 none


Top
   
PostPosted: Thu Jun 04, 2020 9:28 pm 
Offline

Joined: Tue Aug 20, 2019 5:48 pm
Posts: 6
Колибри добавил, старт выдает ошибку
Code:
K: HPET caps 8086A701 K: using mwait for idle loop

Перепробовал все варианты VGA и ни один не помог.


Top
   
PostPosted: Mon Jun 15, 2020 11:46 am 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 157
koteg94 wrote:
В конфиге у меня выбрано 12 мб
Тут нужно быть внимательным, и следить чтобы Size of CBFS filesystem in ROM хоть как-то соответствовал ROM chip size (у меня они равны, но может в твоём случае с интеловскими блобами он должен быть например 8 МБ - то есть 0x800000) Дело в том, что когда ты меняешь ROM chip size туда-сюда, Size of CBFS filesystem in ROM с ним не синхронизируется! Поэтому, если возникают сомнения, удали свой ./coreboot/.config и начни конфигурить заново, с чистого листа - возможно, используя чью-то проверенную конфигурацию из board-status https://coreboot.org/status/board-status.html


Top
   
PostPosted: Mon Jun 15, 2020 11:48 am 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 157
koteg94 wrote:
Колибри добавил, старт выдает ошибку
Code:
K: HPET caps 8086A701 K: using mwait for idle loop

Перепробовал все варианты VGA и ни один не помог.
В других ОС у тебя графика работает? И, думаю, нужно будет затестить Колибри заново после пересборки коребута с правильными размерами (см. сообщение выше) - может быть, это отчасти влияет на возникновение проблемы


Top
   
PostPosted: Tue Jun 16, 2020 9:08 pm 
Offline

Joined: Tue Aug 20, 2019 5:48 pm
Posts: 6
Собирается с 0x700000 без ошибок. В других ОС графика работает, проверил убунту, виндовс, дебиан.


Top
   
PostPosted: Wed Jun 17, 2020 4:36 pm 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 157
koteg94 wrote:
Собирается с 0x700000 без ошибок. В других ОС графика работает, проверил убунту, виндовс, дебиан.
Пожалуйста, попробуй ещё две вещи:

1) Подготовь загрузочную флешку с Колибри ( используя например Rufus - https://rufus.ie/ ) и попытайся загрузиться оттуда
2) Если и там не загрузится - когда будет возможность, откатись временно на проприетарный UEFI и попробуй ещё раз загрузиться с флешки

Это поможет понять - проблема в самом коребуте, или плохой поддержке в КолибриОС твоей встроенной видеокарты


Top
   
PostPosted: Wed Jun 17, 2020 5:01 pm 
Offline

Joined: Tue Aug 20, 2019 5:48 pm
Posts: 6
floppy121 wrote:
koteg94 wrote:
Собирается с 0x700000 без ошибок. В других ОС графика работает, проверил убунту, виндовс, дебиан.
Пожалуйста, попробуй ещё две вещи:

1) Подготовь загрузочную флешку с Колибри ( используя например Rufus - https://rufus.ie/ ) и попытайся загрузиться оттуда
2) Если и там не загрузится - когда будет возможность, откатись временно на проприетарный UEFI и попробуй ещё раз загрузиться с флешки

Это поможет понять - проблема в самом коребуте, или плохой поддержке в КолибриОС твоей встроенной видеокарты

1) не работает. 2) работает.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 13 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited