Дмитрий Гринберг, российский программист, проживающий в США, опубликовал (http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux&...) в своем блоге интересную заметку с объяснением того, как ему удалось запустить Linux-дистрибутив Ubuntu 9.04 с ядром 2.6.34 на микроконтроллере ATmega1284p с 8-битным процессором, лишенном блока управления памятью (MMU) и общим объемом встроенной оперативной памяти 16 Кб.
Чтобы добиться запуска ядра Linux на микроконтроллере пришлось применить несколько трюков, оснастив микроконтроллер дополнительным модулем памяти и SD-картой для хранения операционной системы. В качестве дополнительной памяти использован модуль SIMM объемом 16 Кб, чтение и запись ячеек которого осуществляется с помощью программного контроллера, позволяющего добиться производительности примерно в 300 Кб/с при потере около 3% процессорного времени на обновление ячеек памяти каждые 62 мс (эта операция требуется из-за особенностей работы SIMM-памяти).В качестве хранилища для операционной системы использована SD-карта объемом 1 Гб, которая также управляется с помощью программного SPI-контрллера (мастера), позволяющего достичь производительности в 200 Кб/с. Аппаратный SPI-контроллер, установленный в ATmega1284p Дмитрию так и не удалось заставить работать корректно.
Особого внимания заслуживает метод, примененный для запуска Linux на 8-битном процессоре. Так как портировать ядро на 8-битную архитектуру не представляется возможным, Дмитрий написал эмулятор процессорной архитектуры ARMv5TE и системы на кристалле PXA255, способный работать на процессоре ATmega1284p и реализующий, кроме всего прочего модуль MMU, также необходимый для запуска ядра Linux. По прикидкам Дмитрия, производительность эмулятора оказалась в районе 6.5 Мгц, при производительности реального процессора ATmega1284p в 24 Мгц (разгон со штатных 20 Мгц). Во-многом этому поспособствовала реализация кэша инструкций с помощью встроенной в микроконтроллер оперативной памяти, производительностью 5 Мб/с.
С помощью описанных техник на получившейся системе удалось запустить Ubuntu 9.04, загрузка которого до приглашения bash (init=/bin/bash) заняла около двух часов, а загрузка полной версии ОС без X Window до приглашения входа в систему - 4 часа. При это оказалось возможным даже запустить X-сервер и окружение GNOME, но эта операция требует значительно больше времени. Интересно, что по окончанию загрузки система оказалась вполне пригодной к использованию; на выполнение стандартных команд терминала требовалось не больше одной минуты.
Все наработки проекта находятся в публичном доступе. Список используемых компонентов перечислен в самой статье, исходный код программных компонентов можно получить по этой (http://dmitry.co/images/uARM.zip) ссылке. Также доступен полный образ диска (https://rapidshare.com/files/340265311/jaunty.rel.bz2), готовый к копированию на SD-карту. Видео-демонстрация процесса загрузки и работы опубликована (http://vimeo.com/dmitrygr/uarm1) на видео-хостинге vimeo.
URL: http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux&...
Новость: http://www.opennet.me/opennews/art.shtml?num=33487
Лишь бы запустить?uARM is certainly no speed demon. It takes about 2 hours to boot to bash prompt ("init=/bin/bash" kernel command line). Then 4 more hours to boot up the entire Ubuntu ("exec init" and then login). Starting X takes a lot longer. The effective emulated CPU speed is about 6.5KHz, which is on par with what you'd expect emulating a 32-bit CPU & MMU on a measly 8-bit micro. Curiously enough, once booted, the system is somewhat usable. You can type a command and get a reply within a minute. That is to say that you can, in fact, use it. I used it to day to format an SD card, for example. This is definitely not the fastest, but I think it may be the cheapest, slowest, simplest to hand assemble, lowest part count, and lowest-end Linux PC. The board is hand-soldered using wires, there is not even a requirement for a printed circuit board.
Ну не всё ж на жабаскрипте извращаться
Да в принципе одинавоко - и то и другое полные по тюрингу. Так что теоретически и то и другое может выполнять любую программу.
в смысле - радует, что кто-то разбавляет модные жабаскриптовые извращения ассемблерными
> в смысле - радует, что кто-то разбавляет модные жабаскриптовые извращения ассемблернымиСишными в основном, хотя без знания ассемблера а точнее формата команд целевого cpu эмуль не написать :)
Хочу убунту на спектрум!
Ну а хренли, допаяй оперативки и напиши/спортируй эмулятор ARMv5. После чего у спекки отрастет программный ARM и програмнный MMU, а хотя-бы и работающие с чебурашьей скоростью :)
оперативки хватит, при необходимости можно сделать подкачку с диска (дадада, эмулятор MMU для Z80). запустить загрузку и вернуться, когда новорожденый в школу пойдёт. может, оно к тому времени login prompt покажет.
> может, оно к тому времени login prompt покажет.Дык это... сабжевая атмелка не больно то и мощнее Z80, в чем самый стеб и состоит. Экстраполируя могу прикинуть что если оно грузится за пару часов там, спекки показал бы промпт в пределах 1-2 суток, вероятно. Ну так с поправкой на более низкую тактовую и менее совершенное GPIO (у атмела оно далеко не самое плохое).
ну, я когда-то делал там эмулятор подмножества x86. байтораздирающее зрелище, конечно, но было смешно.
Хочу Убунту на калькулятор МК-61. Согласен без компиза!!!
генту, чувак. ручной побайтовый ввод портежей! сборка иксов менее чем за полгода!
>сборка иксов менее чем за полгода!фигасе. но! лучше осилить кросскомпиляцию. или это уже будет не тру хардкор?
(мечтательно) и сеть к SPI привинтить... и distcc...
> (мечтательно) и сеть к SPI привинтить...Г-но вопрос. Есть чипы с wi-fi и ethernet интерфейсом на spi. Enjoy.
> генту, чувак. ручной побайтовый ввод портежей!Предлагаю на счетах, при том истинный гентущник должен каждый экземпляр счетов собрать сам :). Вот это будет действительно знанием своей системы, когда вы каждый битик будете видеть как на ладони :)
> каждый экземпляр счетов собрать самвырастить дерево, выпилить костяшки, ... XD
> вырастить дерево, выпилить костяшки, ... XDПилу чур тоже самому делать, с нуля, из исходных материалов aka руда и уголь :). Иначе читерство уже.
Какие ещё счёты? Всё в уме! ))
Причем не в своем.
То есть найти жену, сделать ребенка, научить его и он в своем уме все запустит. :)
> генту, чувак. ручной побайтовый ввод портежей!Там проц 1-битный вроде как был. Так что побитовый.
> Там проц 1-битный вроде как был. Так что побитовый.Как это?
>> Там проц 1-битный вроде как был. Так что побитовый.
> Как это?Ну вот так - побитовая обработка чисел. 1-битное ALU и прочая. Скорость работы понятно какая.
а вот так! таково нонче поколение ЕГЭ! :(
>> генту, чувак. ручной побайтовый ввод портежей!
> Там проц 1-битный вроде как был. Так что побитовый.ваня, не маскируйся под анонимуса!
> ваня, не маскируйся под анонимуса!Не угадал, Кэп. На самом деле на эти чипы нет нормальной документации, но где-то упоминалось что сие - набор логики с 1-битовым ALU. Для соседнего МК-52 есть какие-то упоминания о 4-битных словах.
аааа, ёлы, извиняюсь. я подумал, что мы про Z80, а не про калькулятор. пардон, от чтения ваниных постов я катастрофически тупею, видимо.
> аааа, ёлы, извиняюсь. я подумал, что мы про Z80,Не, мы про МК-61, на набор логики коего вообще нормальной документации вроде как и нет :)
ага, пусть помечтают про побайтовый ввод.
>Хочу Убунту на калькулятор МК-61. Согласен без компиза!!!МК-52 же, на убогом 61 даже нельзя подключать блоки расширения памяти (типа БРП-4)
http://www.nedopc.com/products.php
> Хочу убунту на спектрум!Терпеливый...
Вот это действительно гланды через задницу!!!
Но ведь "удалил" же! :)
Что толку, если там нету второго гнома
Вы наверное хотели сказать - третьего?..
читаем внимательно>При этом оказалось возможным даже запустить X-сервер и окружение GNOME, но эта операция требует значительно больше времени
>>Дмитрий написал эмулятор процессорной архитектуры ARMv5TE и системы
>>на кристалле PXA255, способный работать на процессоре ATmega1284p и
>>реализующий, кроме всего прочего модуль MMU, также необходимый для
>>запуска ядра Linuxдля меня звучит как магия
> для меня звучит как магияДа нет тут никакой магии - гуглите про полноту по Тюрингу и прочая. В принципе, все процессоры между собой эквивалентны. Просто у некоторых из них некоторые операции подперты отдельными аппаратными блоками, для ускорения и упрощения. Сэмулировать процессор и какую либо из его железок иным процессором - не проблема. Проблема в том с какой скоростью будет работать программная эмуляция.
А так вон Фабрис вообще х86 эмулятор написал на JS. Извратно, но работает. Запуская пингвина прямо в браузере.
Где же вы там полноту по Тьюрингу нашли, умник вы наш? У МТ лента бесконечная, а тут памяти 16 кб.
> тут памяти 16 кб.Вообще-то перец прицепил 16МБ памяти, учинив контроль SDRAM-памяти прямо портами GPIO. Что вообще-то изврат (изначально для такого подразумевался аппаратный контроллер, который в более мощные SoC встроен, который это делает быстро и не нагружая проц). Но работает же. Конечно контроллер памяти получился тормозной и извращенский, нативному коду на атмеге он не доступен как нечто адресуемое напрямую.
Зато [u]эмулированному[/u] процу стало доступно 16 мегз эмулированной же оперативы, хоть оно и тормозное и извращенское. В 16 мегзах пингвин нормальненько так взлетает. В 16 кил - не взлетит.
Если есть камня GPIO то в принципе его программными дергами можно изобразить очень много разных интерфейсов. Не всегда быстро и оптимально, но - можно. Как видите и самопальный контроллер SDRAM к которому прицеплено аж 16МБ (в виде SIMM модуля) - тоже можно. Помнится другой извращенец сделал программный usb на атмегах. Полтора мегабита (полтора миллиона битов в секунду) этот господин разбирал программно, анализом состояния лапок. Поскольку частота атмег - едва за десяток МГц, несложно прикинуть что на анализ и принятие решений - несколько тактов, несколько команд проца. Usb на самом деле дифференциальная шина и там еще и байты не влобовую а с кодированием к тому же (на честный разбор которого на такой скорости времени нет в принципе). Тем не менее тот перец изогнулся и сделал почти невозможное, считерив слегка (сделав таблицу).
Вот что-то такое и является высшим пилотажем для инженеров, когда из железа выжимается нечто, что большинство коллег считало невозможным.
Где можно посмотреть полное 4-часовое видео?!
Блин, шутка не удалась, оно по ссылке и есть!))
> The effective emulated CPU speed is about 6.5KHz
> 6.5KHz
> KHzсемь килогерц, _не_ мегагерц. есть ещё один повод задуматься о смысле жизни...
> семь килогерц, _не_ мегагерц. есть ещё один повод задуматься о смысле жизни...Пошаговая стратегия - Linux. Вы вводите команду - ход переходит к CPU :)
>> The effective emulated CPU speed is about 6.5KHz
>> 6.5KHz
>> KHz
> семь килогерц, _не_ мегагерц. есть ещё один повод задуматься о смысле жизни...Ещё один повод задуматься, в какую трубу улетают наши гигагерцы!
Подумать только: если шесть часов разделить на полмиллиона - получаем примерно четыре сотых секунды до загрузки иксов! А если ещё видеоускоритель к этому добавить?
> А если ещё видеоускоритель к этому добавить?Вот на загрузку его драйвера, инициализацию ускорителя, вгрузку фирмвары, self-test и прочая секунды и улетают :)
Туда, наверное, очень медетативненько будет генту из stage1 собрать...
> Туда, наверное, очень медетативненько будет генту из stage1 собрать...Лет за 500 справитесь :)
> Туда, наверное, очень медетативненько будет генту из stage1 собрать...+1, улыбнуло =)
> Туда, наверное, очень медетативненькоСкелеты не умеют медитировать, обломитесь.
s/Туда/Там/
> модуль SIMM объемом 16 КбПростите, это как? Автор, модулей SIMM такого размера никогда не было в природе! Таким размером исчислялись раритетные дискретные микросхемы, которые можно нынче найти только в музее и у любителей старины.
16 мегабайт, конечно же, кое-кто корявый писал новость.
> 16 мегабайт, конечно же, кое-кто корявый писал новость.Ну я как бы представляю миимальные требования для взлета пингвина. Минимум до которого его можно обкромсать без свопа - где-то в районе 8Мб для ядра 2.4, ну а на 16Мб и 2.6 вполне вольготно себя чувствует. Но вот чтобы на 16Кб... размечтались то...
Иеется в виду скорее всего микросхема динамической памяти обьемом 16Мб (мега БИТ) это 2 мегабайта.
Частенько путают байты с битами, а это разница в восемь раз!
> Иеется в виду скорее всего микросхема динамической памяти обьемом 16МбИмеется в виду модуль памяти SIMM 30 pin - 16Mb. "The ram can be any 30-pin 16MB SIMM" (c) оригинал. Перевочику курить бамбук.
> "The ram can be any 30-pin 16MB SIMM" (c) оригинал.Бродят мысли, что всё-таки это два мегабайта: короткие симмы на четыре мегабайта были на вес золота, а 16Mb RAM и более в писишках тех лет видал только в серверном исполнении (а-ля 386DX40 с 32Mb восемью планками)...
> Бродят мысли, что всё-таки это два мегабайта:Похоже что все-таки 16 мегабайтов. В двух забутявить пингвин 2.6... ну попробуйте, расскажете. Максимально обкоцанное со всех сторон 2.4 кой-как взлетает в 8, хоть там и под завязку все. А 2.6 в общем случае покрупнее. Вот в 16 мегабайтах пингвин как раз без вопросов взлетит.
> короткие симмы на четыре мегабайта были на вес золота, а 16Mb RAM и более в писишках
> тех лет видал только в серверном исполненииНу перец вроде как утверждал что купил это на ebay. Где там оно применялось - кто ж его знает? Теперь то это в любом случае по цене грязюки под ногами (кроме случая когда это продается как раритет).
> (а-ля 386DX40 с 32Mb восемью планками)...
Ну так и винч на 1Гб стоил 150 баксов в свое время. А сейчас его такой и даром никто не возьмет - мизерная карта памяти емче в разы и стоит копейки...
>> Бродят мысли, что всё-таки это два мегабайта:
> Похоже что все-таки 16 мегабайтов. В двух забутявить пингвин 2.6...У него скорость доступа к RAM и флэшке сопоставимая вышла, потому и бродили. Глянул на ebay -- и впрямь продают 16mb 30pin simm (похоже, от амиг с эпплами).
> У него скорость доступа к RAM и флэшке сопоставимая вышла,Флешка такого типа _очень_ хреново относится к random access на запись. Флешка на запись вообще не есть устройство произвольного доступа, по большому счету. И когда ее попросят записать блок на 4К (страница) она вполне может задуматься на добрую сотню миллсиекунд, потому что ее хилый контроллер понял что единственный метод такое сделать - read-erase-patch-write для огроменного 256КБ блока например (КПД операции понятно какой). В этом плане даже DRAM на софтварном "типа контроллере" пожалуй лучше будет. По крайней мере, рандомная запись в нее занимает какое-то более-менее вменяемое время, пропорциональное объему записываемого.
> потому и бродили.
У меня есть сильное подозрение что ядро 2.6 которому дали только 2Мб оперативной памяти умрет раньше чем получит хоть какое-то шанс смонтировать своп. Во всяком случае я бы не подписался 2.6 запускать на 2Мб RAM.
> Глянул на ebay -- и впрямь продают 16mb 30pin simm (похоже, от амиг с эпплами).
Ну вот видимо что-то такое этот перец и купил. На его счастье у древней SDRAM интерфейс простой, никаких вам DDR и прочая и уровни сигналов обычные :)
> На его счастье у древней SDRAM интерфейс простойКхм, вообще-то короткие (да и длинные) симмы были ни разу не SDRAM, ЕМНИС. Синхронная память пошла уже диммами.
> Кхм, вообще-то короткие (да и длинные) симмы были ни разу не SDRAM,Упс, разумеется, это просто DRAM.
Ну так и вы не путайте. Мб - мегабайты, МБ - мегабиты.
Ой, наоборот, я сам дурак.
Забавный перевод вышел.
> производительность эмулятора оказалась в районе 6.5 Мгц
> микроконтроллер оперативной памяти, производительностью 5 Мб/сВы бы определились, в чем у вас производительность измеряется в МГц или Мб/с, а то как-то безграмотностью веет.
И, кстати: Мб -- это мегабит, а МБ (большая Б!) -- мегабайт.
> Вы бы определились, в чем у вас производительность измеряется в МГц или
> Мб/с, а то как-то безграмотностью веет.Там в оригинале было про скорость работы с оперативкой 5Мб/сек, но переводчик и тут сгорбил. Такое ощущение что переводили чуть ли не гуглтранслейтом.
Сегодня на опеннете обсуждение авторов, а не новсти... Готовимся к наступлению следующего месяца?
> Сегодня на опеннете обсуждение авторов, а не новсти...Ну так мало того что новость из разряда научных курьезов (это еще куда ни шло), но раз уж беретесь писать о весьма стебных параметрах суперэкзота, перевирать их - просто категорически некузяво!
бред. на этом Хы невозможны
> бред. на этом Хы невозможныНе, ну почему же, если оперативы побольше и своп на sd-карту откладывать... за месяцок пожалуй и иксы взлетят :)
>> бред. на этом Хы невозможны
> Не, ну почему же, если оперативы побольше и своп на sd-карту откладывать...
> за месяцок пожалуй и иксы взлетят :)Ставлю 10ку что за сутки!
> Ставлю 10ку что за сутки!Мсье оптимист :)
> Ставлю 10ку что за сутки!Двухпортовую? :)
осталось попросить всех оптимизировать софт чтобы работал без тормозов и вуаля, технологический прорыв!
> технологический прорыв!Да, теперь убунту будет даже в китайском тетрисе и пульте управления :)
Что на очереди? Пылесос, или утюг? Им что, лавры netbsd не дают спокойно жить? Они Бубунту на всем хотят позапускать?
> Им что, лавры netbsdДа какие там лавры? Нетбсд никто не запускал ни на 8-битники ни на эмуляторе писаном на JS. И по факту пингвин поддерживает в десятки если не сотни раз больше реально существующих железяк.
А каким раком на 8 битах осуществляется доступ к 1Гигу SD-карты?!
sata-over-spi (SOS)
> А каким раком на 8 битах осуществляется доступ к 1Гигу SD-карты?!Павлин, ну тебе ли не знать что на 8 битах можно в принципе хоть с int128 работать? Просто это будет медленно и печально, ибо многоэтажная математика.
>> А каким раком на 8 битах осуществляется доступ к 1Гигу SD-карты?!
> Павлин, ну тебе ли не знать что на 8 битах можно в
> принципе хоть с int128 работать?Одно дело алгоритмы для работы с большими числами,
другое физический доступ...Я вот хрен знает,... но скорее всего к него там какая-то фишка
работы с блоками по 2^8 c прямым доступом к SD контроллеру.
Интересно, Вы предполагаете, что процессор был не только 8-битным, но и однорегистровым?
> Я вот хрен знает,... но скорее всего к него там какая-то фишкаДа никакой там фишки. Ты байтики по шине <-> тебе байтики по шине. Как ты будешь дрюкаться с вычислением более чем 8-битных полей - твои трудности :)
> работы с блоками по 2^8 c прямым доступом к SD контроллеру.Работа там IIRC как с обычными 512-байтными секторами, "как обычно". Интерфейс - SPI скорее всего. Как ты его разгребешь - твои проблемы. Тем более что в SPI мастер клокает слэйва и тот ну никак не сможет отгрузить данные быстрее чем их собирается принять мастер. Мастер может просто внаглую не подавать клок, ну и слэйв так и будет курить бамбук.
Кстати да, этот извращенец еще и spi эмулировал программно, т.к. встроенный аппаратный у него не заработал почему-то. Что наверянка ему посадило скорость работы с картой еще в разы. Но перец крут - столько всего эмулировать :)
так же как и к 16 мЭга или кЫло байтов, о!
крейзи рашен программер. 10 лет пишу под меги, но чтоб такое... шайтан :)
> крейзи рашен программер. 10 лет пишу под меги, но чтоб такое... шайтан
> :)Там вся фича в эмуляторе.
ууууу... да у него там все на Сях... ну можно значит раза в 3 ускорить
> ууууу... да у него там все на Сях... ну можно значит раза в 3 ускоритьА если взять чип с аппаратным контроллером (S)DRAM, SPI, да еще MMU, то вообще станет зашибись... правда, так любой дурак сможет :)
>крейзи рашен программер.Это с такой-то фамилией? Ну встречается конечно и такое фио "Ярусский Иосиф Беркович" - тоже 100% рашен.
> и общим объемом встроенной оперативной памяти 16 Кб.Ну, посмеялись и хватит, а то красноглазики подумают, что Линукс и вправду можно на 16 Кб запустить :) Читайте внимательно: у него там планка древней SIMM памяти на 16 МЕГАбайт.
> The ram can be any 30-pin 16MB SIMM that can live with CAS-before-RAS refresh of 4K cycles every 64ms. The one I used (OWC) is available online for a few dollars.
Я последние 10 лет занимаюсь программированием микроконтроллеров как раз с 16 КИЛОбайтами на борту, и со всей ответственностью заявляю, что на них ВООБЩЕ ничего путного запустить нельзя (ну, кроме то, что сам напишешь, конечно :))!
Так он сам и написал свой эмулятор. А 16Мб планку подвешал в лучшем случае через банкинг, в худшем тупо на GPIO порты, смотря что этот контроллер позволяет. На машине Тюринга что угодно запустить можно, уж простите за банальность.
> лучшем случае через банкинг,В atmega нет встроенного контроллера DRAM, клюйте.
> в худшем тупо на GPIO порты,
Именно так. Он не только работает с ней но и периодически регенерирует содержимое (антифича DRAM памяти, современная умеет зачастую self-refresh, но такая древность видимо этой фичой еще не снабжена). Перец до кучи изобразил и контроллер DRAM силами GPIO :). Извращенский и тормозной, но работает же, да еще и другой проц эмулирует :-)
> смотря что этот контроллер позволяет.
Тупо обмен по GPIO. Никакого контроллера DRAM в нем нет - чисто программно и это забабахано :)
> На машине Тюринга что угодно запустить можно, уж простите за банальность.
...что чувак и показал лишний раз...
Just 4 fun. Так сказать удовлетворить себя.
+1 Лучше бы что-нибудь полезное сделал.
> +1 Лучше бы что-нибудь полезное сделал.Хм, такой вброс, очень полезно, ИМХО.
>+1 Лучше бы что-нибудь полезное сделал.Так он и сделал.
1. Вполне себе потенциально для меня полезную схематику и код для работы с DRAM на AVR.
2. Предельно легковесный эмулятор ARMv5T
И не только.
> 1. Вполне себе потенциально для меня полезную схематику и код для работы
> с DRAM на AVR.Скорость работы с DRAM настолько жо..., да и сама DRAM нужна настолько что проще будет взять микроконтроллер с контроллером, пожалуй. А это представляет интерес как PoC/высший пилотаж, не более :)
Правильно, зачем в сарае создавать мотодельтаплан, если есть Боинги?
На мотодельтаплане летать можно, а это поделие создавалось ради единственного запуска - чтобы через 4 часа промпт увидеть.
> чтобы через 4 часа промпт увидеть.Тем не менее, инженерный скилл засчитан. Такой блин и на счетах линуксный кернел забутявит. Правда будет два года костяшки в правильные позиции расставлять с командой ассистентов :)
а кто-то голыми пальцами картины рисует (а кто-то задницами), а кто-то марки собирает, а кто-то по промышленным развалинам сайгаком скачет, а кто-то после работы переодевается эльфом или гномом и занимается "непоймичем"... ну ты понял, да? Знаешь такие понятия как интерес, любопытство, вызов и т.д.?
Сферический «Just For Fun» :)
Судя по блогу - не российский, а русский программист.
Судя по фамилии — таки да.
> Судя по фамилии — таки да.Как фамилия так русская, как работать в ША.
Ярусский Иосиф Беркович одобряет!
Скажите мне пожалуйста а какое отношение Ubuntu имеет к запуску Linux на 8-битном контроллере ?
Не жалкая ли это и убогая попытка рекламы?
> какое отношение Ubuntuудалось запустить Linux-дистрибутив Ubuntu 9.04 с ядром 2.6.34 на микроконтроллере ATmega1284p. Какое еще нужно объяснение? Ты считаешь он обманул? Проверь, все наработки проекта находятся в публичном доступе.
> Не жалкая ли это и убогая попытка рекламы?Если это реклама - ок, я не против существования ТАКОЙ рекламы :)
> Скажите мне пожалуйста а какое отношение Ubuntu имеет к запуску Linux на
> 8-битном контроллере ? Не жалкая ли это и убогая попытка рекламы?Ни разу. Уж если у него даже убунта поползла на звуковых частотах... :)
лучше бы винду запустил. толу бы больше было
мы как-то винду 98 на первом пне с отрубленным кэшем на тактовой частоте 6 МГц запускали, так ей тоже 2 часа чтобы загрузиться требовалось.
Как вы умудрились клокать пень на 6 (шесть) МГц?
> Как вы умудрились клокать пень на 6 (шесть) МГц?Оне ж вроде 286 ?:
http://en.wikipedia.org/wiki/Intel_80286
мать позволяла перемычками баловаться, вот и доигрались. Во всяком случае он сам так показывал.
> лучше бы винду запустил. толу бы больше былода это было бы остроумно - эмуляция на 8битном процике мощного проца для запуска венды. обычно-то наоборот...
> лучше бы винду запустил.Ждать устал бы.
> толу бы больше было
Куда ФСБ смотрит?! Тол - по их части. Пруф: http://ru.wikipedia.org/w/index.php?title=%D0%A2...
> лучше бы винду запустил. толу бы больше былоТол (тринитротолуол) получается из более подходящего сырья, чем винда, и при совсем других условиях, чем обработка эмулятором ARM на контроллере.
Привозите свою винду на LinuxFest, там запустят. Вася метает HDD 3.5" метров чуть ли не на сорок обычно ;-)
Сдаётся мне, кто-то рановато начал первое апреля праздновать.Зачем запускать монстроидальную Бубунту на таком процике? В LFS или какой-нибудь TynyCore Linux авось не пришлось бы ждать 2 часа до логина.
> Linux авось не пришлось бы ждать 2 часа до логина.init=/bin/bash - кукая уж тут монстрятина?!
А троллям врё равто, какой дистрибутив тролить. Понятное дело, вы лучше этого человека знаете, что лучше запускать. А он, понятное дело, дурачёк - не разбирается.
Ну теперь ещё четвёртокеды запустить на 8-ми битном.
>Дмитрий Гринберг, российский программистМУЖИК, чё
Да ладно вам, чувак тренируется, скилл прокачивает.
Следующая убойная новость:Системный администратор из НьюВасюков предпринял попытку запустить Убунту 9.04 с ядром 2.6.34 на группе офисных работников.
Круппа офисных работников запертая в конференц-зале эмулировала процессор, получая инструкции на распечатанных листиках бумаги. Запуск убунты так и не был осуществлен, поскольку через 8 часов инициатора этой инициативы доставили в местное отделение травматологии с множественными ушибами головы...
> Следующая убойная новость:это юмор теперь такой?
> Круппа офисных работников запертая в конференц-зале эмулировала
Эмулятор ARMv5TE на AVR! Безумству храбрых поем мы песню!Касательно скуптических коментариев: блин, ну можно же что- то делать чисто из любви к искусству! Кто- то кораблики клеит, а кто- то ARMv5TE эмулирует на 8-ми битах...
Да, кстате, сорцы надо глянуть. AVR люблю всем сердцем. Интерестно почему SPI не завелся. У меня никогда проблем небыло (правда не на конкретно на этом камешке)
"загрузка которого до приглашения bash (init=/bin/bash) заняла около двух часов, а загрузка полной версии ОС без X Window до приглашения входа в систему - 6 часов."
Парень перегрелся, пора уходить из программистов(все это -8 битный мк можно смоделировать в Matlab),,,
> в Matlab),,,Не, это как резиновая Зина. Так не пойдет.
Когда собаке нечего делать...
Реквестирую порт на денди и картридж с убунтой.
Вот, ведь, извращенец... :)
Но, при этом, всё-таки молодец и гений!
Не стоит позориться и писать российский программист из америки. Смешно до некуда. А может таки он из наших, шалом ему передайте :-)
> А может таки он из наших, шалом ему передайте :-)Еврейский националист? Весьма оригинальное сочетание.
>> А может таки он из наших, шалом ему передайте :-)
> Еврейский националист? Весьма оригинальное сочетание.1) нынешние неоиудаисты вообще-то ультранаци;
2) а что, я бы тоже виновнику новости шалом передал -- мир дому его :)
> 1) нынешние неоиудаисты вообще-то ультранаци;Как и руССкие поцреоты и националисты
Для микроконтроллеров есть туча ОС семейства линукс. Бери компили, прошивай, работай. Без графики конечно.
> Для микроконтроллеров есть туча ОС семейства линукс.Ну так не для 8-битных же :). Запуск на 8-битнике пингвина считался по сути невозможной на практике задачей, хоть и теоретически это ничему не противоречит. А этот хмырь софтварно сэмулировал все что не хватало и вообще превратил атмегу в ARMv5TE с MMU. Хоть и тормозной до ужаса :)
Забавно :)
Первый эстооонский суперкомпьютер получился :)
Чувствую без тонкого тюнинга системы не обошлось. Совет товарищу - допилите убунту и запустите на RapsodyPI - будет летать. А не то что сейчас творится - на 4 пне с гигом ОЗУ тормозит :-(
Решил что у меня температура поднялась и бред теперь лезет с экрана монитора. Ну скажите же кто то что с датой ошиблись, и статья датирована 1-м апреля
чувак молодец, так круто ломиться в открытые двери надо уметь. а пипл-то и не знал, что можно написать на одной архитектуре эмулятор другой и запускать софт.
> и не знал, что можно написать на одной архитектуре эмулятор другойНу знаешь, написать под атмегу эмулятор ARMv5TE и недостающего MMU, попутно софтварно изобразив контроллер DRAM и SPI... в этом что-то есть :)
> Дмитрий Гринберг, российский программист, проживающий в США, опубликовал (http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux&...)
> в своем блоге интересную заметку с объяснением того, как ему удалось
> запустить Linux-дистрибутив Ubuntu 9.04 с ядром 2.6.34 на микроконтроллере ATmega1284p
> с 8-битным процессором, лишенном блока управления памятью (MMU) и общим объемом
> встроенной оперативной памяти 16 Кб.Ой спасибо, ребята! Повеселили! Особенно "Пошаговая стратегия - Linux. Вы вводите команду - ход переходит к CPU :)" и "Системный администратор из НьюВасюков предпринял попытку..."
Вообще-то я из России, но в 12 лет родители переехали, и я с ними. Теперь живу в Калифорнии.
-Дмитрий Гринберг (тот самый)
> -Дмитрий Гринберг (тот самый)Ну шалом :)
мужик, респект и уважуха! без сарказма, серьёзно.
Хороша штука для поиска узких мест производительности.