воскресенье, 27 декабря 2009 г.

[Обзор] Компьютер в коробке из-под Windows XP



     Мне нужен был очень маленький компьютер с системой Windows XP, и выбор естественно пал на миниатюрную материнскую плату Mini-ITX. И что самое удивительное, я решил построить компьютер не в обычном кейсе, а где бы вы думали? Правильно прямо в коробке из-под Windows XP (лицензионной естественно, где имеется сам диск с ОС и книжечки с документацией). Внешние размеры коробки были очень невелики – всего то 243 мм x 200 мм x 48 мм, поэтому процесс постройки обещал быть довольно интересным.



     Изначально моими требованиями было:
1. Использовать материнскую плату настолько мощную, насколько это было только возможно в плане размеров. В идеале я думал использовать Nehemiah EPIA M10000.
2. Мой мод должен был иметь внутренний оптический привод (это требование пожирающее свободное внутреннее пространство коробки оказалось ну очень трудным в плане исполнения).
3. Материнская плата должна была остаться нетронутой – ни одной детали не должно было быть с нее отрезано в пылу попыток уместить все внутрь коробки.
4. Коробка не должна была «растолстеть» и должна была сохранить свой ровный изначальный вид. Беременных коробок с Windows XP не бывает.
5. Во время интенсивной работы системы коробка не должна была взять и загореться (ночью например, или в то время, когда я пойду за молоком) – ну это естественное требование для любого моддингового проекта.
     К счастью, на этом список моих требований заканчивался (а представьте, если бы последним пунктом шло требование «В коробку также должен быть установлен Флоппи-привод»). Еще одно требование нанесло бы мне последний удар, от которого я вряд ли бы оправился.


     Сборка корпуса


     Все компоненты прибыли, и на первый же взгляд построение этого проекта было невозможным заданием, слишком уж много было комплектующих, проводов, шлейфов и слишком мало места было в коробке.



     Я почти сдался и решил что проект невозможен в принципе, когда обнаружил, что коробка из-под Windows XP была на целых три миллиметра тоньше и на целых 12 миллиметров уже коробки от Adobe Acrobat (с которой я изначально снимал мерки и после которой я решил, что проект в принципе возможен). Также мне нужно было позаботиться о креплении компонентов внутри (не свалишь же просто все внутрь). Также нужно было как-то разместить все оборудование, для чего нужно было или иметь мега-воображение либо нарисовать точные модели компонентов в редакторе…
     В конечном счете, я нашел способ приблизительно расположить компоненты системы и найти правильную компоновку (я просто сложил компоненты рядом и мерил размеры коробкой), но даже в этом случае слишком уж мало было места внутри коробки. У меня оставалось около шести миллиметров в запасе в длину (внутренних размеров коробки) и всего-навсего три миллиметра в толщину коробки. Такая теснота вводила меня в сомнение, что можно придумать какое то вразумительное крепление, на котором будут держаться все компоненты...



     Для того чтобы закрепить все внутренности, мне нужно было изготовить более-менее жесткий кейс по размерам чуть меньший самой коробки, который плотно бы скользил внутрь картонного «футляра». В качестве своего рабочего материала я выбрал пластик Wonderboard, потому как он достаточно прочный и очень простой в работе (его можно резать обычным монтажным ножом). Было бы здорово сделать внутренний ящик из алюминия, но такой тесный дизайн мог бы запросто привести к короткому замыканию со всеми вытекающими последствиями.
     Первый шаг состоял в том, чтобы вырезать основание «ящика» точного размера соответствующего внутренним размерам картонной коробки и дважды проверить, помещается ли «ящик» из пластика в картонный футляр.

     Так как пластик Wonderboard имел толщину 3 миллиметра, то мой запас по свободному пространству в толщину коробки ушел в минус. Оптический привод качался одной стороны внутреннего крепления кейса. Нижняя часть оптического привода касалась радиатора материнской платы, а дальняя часть материнской платы качалась другого конца пластикового кейса. Что касается другой плоскости, то там все было еще хуже. Верхушка звукового разъема касалась основания кейса, и нижняя часть материнской платы буквально касалась картонной коробки. К счастью, винчестер мог протиснуться в то место под материнской платой, где отсутствовал один из разъемов для плат PCI. Единственное место, которое осталось для блока питания – это место над винчестером, причем выводить кабель нужно было в том месте, где к винчестеру подсоединяется шлейф и питание, то есть как это уже стало ясно места было очень мало и комплектующие были установлены впритык друг к другу.



     Теперь, когда я более-менее разобрался с расстановкой комплектующих я мог начинать собирать жесткий корпус, который будет устанавливаться в картонную коробку. На следующей картинке вы можете видеть небольшую «ступеньку» на задней части оптического привода. Лицевая часть привода немного шире чем задняя именно из-за этой «ступеньки», вот в эту пустоту и войдет радиатор материнской платы Mini-ITX.



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



     Я надеялся, что у меня получится использовать ту самую «заглушку» или «планку для I/O разъемов материнской платы», которая идет в комплекте с материнской платой, но оказалось, что ее высота по определению не предполагает ее использование в этом корпусе :) поэтому мне нужно было озаботиться разработкой собственной «заглушки». Это было хорошей идеей, так как я получал возможность заодно разместить в той области гнездо для кабеля питания.



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



     Следующим делом я установил в кейс вентиляторы. Все они объединены в одну электрическую цепь и подключаются к одному разъему блока питания.



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



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



     Когда блок питания был на месте этот комок комплектующих начал выглядеть... ну... как комок комплектующих. Винчестер и его кабель IDE совершенно заполнили все свободное пространство между 12-вольтовым входным разъемом блока питания и выходом линии питания ATX. К превеликому счастью все что осталось установить в этом корпусе – это материнская плата :-(



     Прежде чем укладывать материнскую плату на ее место я присоединил шлейф IDE и коннекторы идущие с лицевой панели (светодиодные индикаторы, кнопки). Также я не забыл подсоединить кабель питания ATX и кабели от вентиляторов. Если вы посмотрите на картинку повнимательнее, то заметите что на плате не установлено оперативной памяти. Этому есть простое объяснение – я хотел на 100% удостовериться что проект сработает, прежде чем начинать искать очень дорогую и очень редкую «низкопрофильную» (в том смысле, что такие модули памяти имеют очень небольшую высоту) память.
     Установка материнской платы была нелегким делом, так как нужно было позаботиться об укладке всех кабелей на свои места, иначе материнская плата не хотела укладываться на специально предназначенные для нее ножки. Но по прошествии всего то ста попыток (и ста тысяч бранных слов произнесенных про себя) мне удалось разложить провода по своим (и не очень) местам.



     Финальный результат получился очень «тугим» что ли, то есть внутри пластикового кейса абсолютно не оставалось никакого свободного пространства. Я думаю (да и знаю), что это самый маленький (в смысле внутреннего объема корпуса) проект с использованием материнской платы Mini-ITX и внутреннего оптического привода. Единственное место, которое осталось в корпусе – это пара миллиметров за блоком питания. Но эта «пустота» нужна блоку питания для обеспечения нормального охлаждения его компонентов.



     Далее по списку заданий шло вырезание в картонной коробке соответствующих отверстий – выполнение этого задания, понятно, не составило труда. Вырезание отверстий в хлипком картоне сделало коробку еще «мягче», чем она была до этого, мне пришлось покрыть ее клейкой лентой для пущей прочности.



     Пластиковый кейс скользит внутрь коробки без особых проблем, и вот конечный результат, вид спереди:



     Задняя часть «корпуса» - здесь вы можете удостовериться, что это – на самом деле компьютер.



     Хороший ракурс «левого бока» коробки:



     И с правого бока, здесь можно разглядеть вентиляционное отверстие для охлаждения процессора, также этот снимок доказывает, что у коробки нет никаких выпуклостей:



     В конечном итоге «низкопрофильная» память, которую я ждал, прибыла и я с радостью отметил тот факт, что все работает, и выражение «Windows из коробки» теперь имеет двойной смысл. :) Windows работает внутри коробки, и по совместительству, в самом компактном корпусе с материнской платой Mini-ITX и оптическим приводом. Схема охлаждения с двумя вентиляторами для кейса и с одним вентилятором для процессора работает именно так как я мечтал – тихо и эффективно. Так что у корпуса вроде нет способности к самовозгоранию (и слава богу). :)



     Заключительные штрихи
     Windows XP – это, конечно, прекрасно, но ведь иногда так хочется повозиться с Linux-ом. Очевидное решение – это несколько операционных систем на одной машине, скажете вы, но ведь у некоторых моих друзей-«линуксоидов» может случиться припадок или сердечный приступ, когда они увидят, что Linux работает в коробке из-под Windows. Поэтому остается только одно правильное решение проблемы – взять дистрибутив Линукса, вернее коробку от дистрибутива с Линуксом и вырезать в ней отверстия под вентиляторы/оптический привод/гнезда материнской платы, чтобы можно было в любое время сменить «шкурку» компьютера в зависимости от того, какая система сейчас работает (ну или в зависимости от вашего настроения, например). Вот здесь то и проявляются недостатки стандартизации размеров коробок для программного обеспечения. Та коробка, которая шла к дистрибутиву Red Hat Linux 9 была на четыре миллиметра уже, чем коробка из-под XP, поэтому коробка не была пригодна к «использованию». У меня уже не было свободного места в корпусе, да и изменять размеры корпуса компьютера только для того, чтобы уместить его в картонной коробке – это, честно говоря, идиотизм. Мне нужна была коробка чуть-чуть побольше. Но не совсем большая, вроде тех огромных широких и массивных коробок из-под современных дистрибутивов, в которых помимо дисков содержатся целые многотомные руководства-энциклопедии. :) В конечном итоге я нашел коробку от уже старого Linux 7.1, которая была на 15 миллиметров толще чем аналогичная коробка из-под Windows XP, но она совпадала по размерам в ширину и высоту. Я использовал несколько грубо вырезанных кусочков пластика Wonderboard для того, чтобы сделать внутри линуксовой коробки своеобразные зажимы для правильной «упаковки» кейса.



     Проблема теперь состояла в том, что я мог случайно загрузить Linux из коробки из-под Windows XP или, что еще хуже (настоящее кощунство), загрузить Windows из коробки из-под Linux. Такой риск был неуместен. И мне нужно было срочно придумать решение.
     Решение пришло внезапно и поразило меня своей простотой и эффективностью. На фотографии выше вы можете видеть то, что коробки стоят вроде бы в правильном положении, но отверстия под оптический привод вырезаны в разных местах. Дело в том, что кейс в коробку из-под Linux устанавливается вверх ногами.

     Для того, чтобы определить в каком сейчас находится положении коробка, я изготовил небольшой модуль-детектор. Модуль-детектор состоит  из обычной кнопки и резистора припаянного к 10-пиновой вилке IDC. Эта вилка подсоединяется к внутреннему разъему серийного порта COM2 (расположенного на материнской плате Mini-ITX сразу же за гнездом для параллельного порта). Резистор соединяется между выходным пином серийного порта DTR (Data Terminal Ready) и входным пином CTS (Clear To Send). Кнопка замыкает цепь между пинами серийного порта CTS и «земля». Таким образом путем программирования DTR я могу определять состояние кнопки прямиком с линии CTS. Кнопка очень мелкая, так что даже фотоаппарат не поможет вам ее разглядеть.



     Последним шагом было написать на ассемблере программу и модифицировать MBR (загрузочный сектор винчестера), которая выбирала бы какую операционную систему загружать в зависимости от текущего состояния кнопки (с какого грузиться раздела – с раздела с Windows XP или с раздела с Linux). Для тех, кто не знает секрета, как это работает, сама процедура «интеллектуальной» загрузки выглядит как волшебство. Люди думают, что компьютер сам выбирает какую ему грузить операционную систему в зависимости от надетой коробки (хотя здесь все прозаичнее).
     Итак, вот он Windows XP Professional запущенный из коробки из-под Windows XP Professional...



     ...и Red Hat Linux 9 запущенный из коробки из-под Red Hat Linux 7.1.



1 комментарий:

  1. 2009 год, тогда ещё raspberry pi небыло, так что очень компактно))

    ОтветитьУдалить