Page 1 of 1
KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Tue Aug 20, 2019 6:02 pm
by koteg94
На Thinkpad x230 по этой статье
прошил свежий Coreboot с SeaBIOS в качестве Payload.
Попытался добавить KolibriOS и наткнулся на нехватку места:
Code: Select all
$ ./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), они добавились успешно. Они сжимаются до нескольких сотен килобайт.
Есть ли какой-то способ решить проблему?
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Thu Aug 22, 2019 9:45 pm
by art_zh
Возьми WinImg и сотри всякий мусор с kolibri.img.
по хорошему, для загрузки требуется только kernel.mnt , шрифты и пара десятков крошечных программ.
всё должно отлично сжаться хотя бы до 200кбайт
всяких монстров вроде драйвера ati можно подгрузить с диска и потом
PS. я уже не помню когда с 4мб SPI ROM чипами работал.
сейчас дешевле впаять 64мб чип в том же корпусе, чем найти такой раритет
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Fri Oct 25, 2019 5:49 pm
by floppy121
art_zh wrote:PS. я уже не помню когда с 4мб SPI ROM чипами работал.
сейчас дешевле впаять 64мб чип в том же корпусе, чем найти такой раритет
SOIC-8 максимум 16МБ (128 МБит) в природе видел.
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Fri Oct 25, 2019 5:53 pm
by floppy121
koteg94 wrote:Есть ли какой-то способ решить проблему?
На AMD-шном Lenovo G505S (
viewtopic.php?f=25&t=3446 ) сам coreboot весит меньше мегабайта, и Kolibri прекрасно влезает.
Почему твой коребут оказался таким жирным? - скорее всего из-за интеловских блобов в составе коребута.
Попробуй порезать их по максимуму, например ME при помощи me_cleaner -
https://github.com/corna/me_cleaner
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Thu Jun 04, 2020 12:28 pm
by koteg94
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: Select all
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: Select all
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 добавить именно во второй чип?
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Thu Jun 04, 2020 1:00 pm
by floppy121
koteg94 wrote:Code: Select all
...
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
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Thu Jun 04, 2020 1:46 pm
by koteg94
В конфиге у меня выбрано 12 мб
Spoiler:
Code: Select all
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:
Code: Select all
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:
Code: Select all
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
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Thu Jun 04, 2020 9:28 pm
by koteg94
Колибри добавил, старт выдает ошибку
Code: Select all
K: HPET caps 8086A701 K: using mwait for idle loop
Перепробовал все варианты VGA и ни один не помог.
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Mon Jun 15, 2020 11:46 am
by floppy121
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
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Mon Jun 15, 2020 11:48 am
by floppy121
koteg94 wrote:Колибри добавил, старт выдает ошибку
Code: Select all
K: HPET caps 8086A701 K: using mwait for idle loop
Перепробовал все варианты VGA и ни один не помог.
В других ОС у тебя графика работает? И, думаю, нужно будет затестить Колибри заново после пересборки коребута с правильными размерами (см. сообщение выше) - может быть, это отчасти влияет на возникновение проблемы
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Tue Jun 16, 2020 9:08 pm
by koteg94
Собирается с 0x700000 без ошибок. В других ОС графика работает, проверил убунту, виндовс, дебиан.
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Wed Jun 17, 2020 4:36 pm
by floppy121
koteg94 wrote:Собирается с 0x700000 без ошибок. В других ОС графика работает, проверил убунту, виндовс, дебиан.
Пожалуйста, попробуй ещё две вещи:
1) Подготовь загрузочную флешку с Колибри ( используя например Rufus -
https://rufus.ie/ ) и попытайся загрузиться оттуда
2) Если и там не загрузится - когда будет возможность, откатись временно на проприетарный UEFI и попробуй ещё раз загрузиться с флешки
Это поможет понять - проблема в самом коребуте, или плохой поддержке в КолибриОС твоей встроенной видеокарты
Re: KolibriOS в coreboot+SeaBIOS на x230 - не влезает
Posted: Wed Jun 17, 2020 5:01 pm
by koteg94
floppy121 wrote:koteg94 wrote:Собирается с 0x700000 без ошибок. В других ОС графика работает, проверил убунту, виндовс, дебиан.
Пожалуйста, попробуй ещё две вещи:
1) Подготовь загрузочную флешку с Колибри ( используя например Rufus -
https://rufus.ie/ ) и попытайся загрузиться оттуда
2) Если и там не загрузится - когда будет возможность, откатись временно на проприетарный UEFI и попробуй ещё раз загрузиться с флешки
Это поможет понять - проблема в самом коребуте, или плохой поддержке в КолибриОС твоей встроенной видеокарты
1) не работает. 2) работает.