2012-06-05 2 views
28

Я не сумасшедший, просто изобретаю колесо: D
Я написал загрузчики, мышь & мини-драйверы для мини-компьютеров, мини-OS и т. Д.Написал мой собственный BIOS

Я всегда стараюсь, чтобы избежать DOS прерывания, используя те BIOS только, пытается идти вперед единство мини-ОС, но вдруг я решил написать свой собственный BIOS :)

Легенда говорит:
Я был программистом высокого уровня, затем низкоуровневым. Однажды я буду программистом на машинах!

Является ли BIOS написанным на сборке? Как я могу его зажечь? Какой механизм? Могу ли я начать редактирование текущего BIOS?

+10

Надеюсь, вам полезно: http://www.coreboot.org/Welcome_to_coreboot – sarnold

+0

Голосование закрывается слишком широко. –

ответ

20

BIOS может быть записан в сборке, но не обязательно, некоторые части должны быть для получения параметров для системного вызова, так как они не соответствуют соглашению о вызовах компиляторов.

Как вы его используете? Меняются от материнской платы к материнской плате, я бы начал с виртуальной машины с открытым исходным кодом и написал для нее биографию. Или создайте виртуальную машину, на которой вы написали биографию. Механизм варьируется от поставщика к поставщику, как правило, вы загружаете dos (dos не мертв, он очень живой в мире ПК, esp для разработки материнских плат и встроенных систем). Я бы не стал вмешиваться в настоящую материнскую плату, если вы еще не знаете ответов на все эти вопросы, вы собираетесь закрасить несколько материнских плат, если вы пойдете по этому пути.

Вы можете попытаться выполнить обновление BIOS для материнской платы и перепроектировать его (хотя есть, вероятно, клик по соглашению, в котором говорится, что вы не будете). Если вы это выясните, вы можете загрузить и взломать. Я бы не пошел туда, вы закроете свою систему, прежде чем вы это выясните.

Является ли биография действительно тем, что вы после? Довольно старая школа, походила бы написать 6502 код для удовольствия. Есть много проблем низкого уровня, которые более полезны и интересны.

Если вы можете написать asm, машинный код не так уж и сложный, вы можете просто сделать это для удовольствия. x86 ужасен, вам нужно потратить некоторое время на изучение других систем и их asm и машинного кода (и написание для них операционных систем). ARM доминирует над миром и не полагается на биос. Мне сказали, что для получения видеокарты в системе, отличной от x86, вам все равно придется что-то притворяться в x86 в BIOS x86, можно выяснить, как воспитывать основную видеокарту без необходимости запуска BIOS x86. наблюдайте, как эмулятор запускает биос и видит, что он делает, выясните, замените ли он питание на init без того, чтобы биос это делал ... Написание симулятора набора инструкций или дизассемблера - следующий шаг за пределами написания машинного кода, я бы не стал тратить даже второй раз на x86, хотя, я могу предложить список альтернатив (или вы могли бы просто играть с симуляторами, которые я написал или собрал).

Если биос x86 - это то, как вы хотите, ваш лучший путь - писать, заменять или взламывать биос для виртуальной машины, являющейся qemu, virtualbox или другим. Замена этой биографии на ваш, скорее всего, будет заменой файла в каком-то каталоге или с использованием параметра командной строки, чтобы указать альтернативную биографию. Когда вы хорошо разбираетесь в этом, тогда, если на них все еще есть материнские платы с устаревшими биозами, возможно, вы можете взломать свой путь в программирование (нужно купить несколько материнских плат каждого типа, поскольку вы будете их использовать). С таким количеством встроенных систем, которые могут быть получены от 20 до 200 долларов США с одинаковым уровнем опыта, нет смысла взламывать материнскую плату ПК без достойных схем и документации. Вы могли бы выкопать оригинальный ПК с записями о схематическом и биографическом документе, а биос был сокет, поэтому если ваш не загружается (и не разрушает материнскую плату), это не кирпич, который вы можете перепрограммировать или заменить биографию чип.Вероятно, вы хотите использовать микроконтроллер, чтобы стоять в качестве поддельной биографии, поскольку найти подходящее оборудование для перепрограммирования более чипов BIOS, пожалуй, сложнее обнаружить, что работающие оригинальные ПК ... Существует сообщество амиг, которое, вероятно, намного веселее и будет будьте счастливы, если вы улучшаете или улучшаете свою биографию, скажем, ставя современное оборудование за унаследованные системные вызовы.

+7

некоторые материнские платы имеют второй чип BIOS, который можно использовать для восстановления первичного, если он поврежден во время обновления. возможно, эта функция поможет избежать слишком большого количества материнских плат :) –

+0

@ old_timer Сэр, я хочу написать BIOS, чтобы понять, как работает компьютер, поскольку у меня нет формального компьютерного фона (но я разработчик программного обеспечения для написания программного обеспечения в Ява). Скажите, пожалуйста, помогите мне с дорожной картой, как я могу понять, как микропроцессор, BIOS, оперативная память, ОС и т. Д., Наконец, запускают мой код, чтобы сделать что-то стоящее; с чего я должен начать узнавать об этом; что является источником для изучения. Я бы с нетерпением ждал вашего ответа. –

+1

x86 - это последнее место, которое я бы начал, и, конечно же, не пытался загружать машину, в лучшем случае это был кошмар. Просто потому, что у вас одна, это худшая причина. Начните с микроконтроллеров на сумму от 5 до 10 долларов, изучите основы, создавая некоторые простые вещи, такие как gpio и таймеры, и получите удобство программирования с baremetal (в основном C очень мало asm, если они есть). Тогда возможно малина pi или mips или powerpc, а затем, если вы все еще чувствуете необходимость попробовать x86. Вы найдете почти нулевую информацию для того, что вам нужно, чтобы заменить биографию и могли бы поджарить несколько материнских плат, даже с многолетним опытом. –

0

Есть способы вспышки BIOS, кроме как, возможно, работающего компьютера. Но для этого требуется некоторое оборудование. Не должно быть очень дорого.

Вы могли бы попробовать что-то вроде такого рода tecnique: http://hackaday.com/2010/11/18/build-your-own-soic-progamming-clip/

Этот разговор я видел сегодня: https://conference.hitb.org/hitbsecconf2015ams/sessions/how-many-million-bioses-would-you-like-to-infect/

Он объяснил это более подробно, но вы не могли бы искать инфекции, некоторые tecniques для того, чтобы попасть в биос, охвачены, где программный клип является одним из них.

+1

Пожалуйста, добавьте данные из ваших ссылок, чтобы лучше ответить. –

1

FWIW Modbin - это программа DOS, которая, как следует из названия, изменяет изображения BIN, особенно с целью как простого, так и довольно экстремального изменения существующего кода BIOS.

Если вы можете получить старое мобильное устройство (многие из них все еще работают), я бы посоветовал вам поиграть с BIOS. Это информативно и весело, если кто-то настолько склонен, и вы, кажется, были :) Было время, когда я загрузил изображения BIOS из мобильных телефонов, у которых были такие же или подобные достаточно чипсеты, хотя они сделаны другим производителем ... иногда до значительных преимуществ, включая такие простые, как продолжение получения обновлений BIOS после того, как оригинальный производитель мобильных телефонов сбросил мяч или потянулся вверх, но также функции и возможности, ориентированные на производительность, и изменения.

Это привело к «ГОРЯЧЕЙ МИНИМУЮ», которая подтягивает сокет с микросхемой сокета, так что штырьки едва соприкасались и один раз загрузились, потянув за него и заменив плохой (часто один из которых я использовал fuxored) и мигает, используя функцию кэширования BIOS, которая поддерживала активную систему. Интересный материал для тех из нас, кто убедил меня в этом, и дал мне уверенность в написании драйверов устройств для OS/2

Смежные вопросы