← All posts tagged links

Gem

Был отправлен человек с ящиком дискет в CERN: вези все программы и OS, что найдешь, потом разберемся. Человек был физик с очень небольшим вычислительным уклоном и привез он такую гору мусора, что я в ней месяц разбирался. Так вот — исторический момент — freebsd был привезен полностью на огромном количестве дискет, но без сорсов. И не взлетел. Ну вот совсем никак. А вот linuх был всего на двух дискетах – boot & root. И почти взлетел! Я увидел надпись Login: и даже успел сказать ему root и увидеть #. А вот дальше на все был один ответ: Segmentation Violation и что-то про uselib. Но мы не привыкли отступать. Здесь случился акт божественного провидения: undelete на одной из пустых дискет (парень почистил часть особо бесполезных дискет с тем, чтобы туда записать какие-то мануалы, но не успел) обнаружился файл "?inux.tgz". Распаковка показала, что это похоже на сорс ядра linux. Методом пристального взгляда проблема была вычислена: boot оказался немножко новее root, и функция uselib работала не совсем так, как этого ожидал root. Далее я взял лопату и стал рыть от забора и до успеха. Помню смутно: пришлось отыскать клон gcc для msdos (DJGPP), подправить кернел и ухитриться скомпилировать его под msdos. Получить работающий linux. Но без библиотек и возможности что-либо скомпилировать кроме кернела. Далее собственную libc в степени, достаточной для работы make, gcc, ld etc. пришлось НАПИСАТЬ самому. А все остальное: gcc, as, ld — используя DJGPP и его сорс. Нетрудно понять, что после всего этого я из физика-теоретика превратился в linux-хакера. И назад в науку дорогу уже не нашел.