Комментарии 27
Для контраста можно попробовать запустить ядро Windows 11 ;)
Не совсем понятно, откуда берутся смелые и безапеляционные утерждения вида "Установлен новый антирекорд", "С 2012 года худшим компьютером на Linux считался" и т.п.
Ещё лет 15 назад народ грузил linux на кофеварках дольше 20 часов
Из описания проекта:
I think it may be the cheapest, slowest, simplest to hand assemble, lowest part count, and lowest-end Linux PC
В 2012 году это упрощали в СМИ до одного слова:
[Dmitry] built the worst Linux PC ever around a simple 8-bit microcontroller
Про кофеварки 15 лет назад с Linux, которые грузятся 20 часов, я не натыкался.
К примеру, Damn Small Linux просит для работы без графики хотя бы 486dx или на 100 % совместимый клон и 8 МиБ ОЗУ, хотя рекомендуется 16 МиБ. Были попытки уместить Linux даже в 4 МиБ ОЗУ.
В 1995 запускал Линукс на 386SX-25, 4МБ. Не то чтобы мне было надо в нем работать, просто экзамен был через 2 дня про Юникс, а тогда на терминал юниксовой машины просто так было не сесть, даже на ВМК МГУ.
И оно из коробки зашло, в смысле - с CD, купленного в Митино. Я к тому, что это - не достижение ни разу. Иксы, правда, не хватило тогда мозгов запустить, хотя в коробке они тоже шли.
Так а без эмуляции портировать слишком сложно было? Я правда не в курсе, только ли это заслуга эмулятора — такое запускать.
Набор инструкций не позволит.
AVR и RISC-V схожие наборы, но всё же разные. Для AVR никто не компилировал ядро, потому приходится интерпретировать другую архитектуру.
Без этого работало бы быстрее.
Без этого работало бы быстрее.
Сомневаюсь. В данной системе узким горлышком является шина SPI, которая соединяет микроконтроллер с картой памяти, выполняющей роль ОЗУ, так как встроенной памяти не хватает для загрузки Linux. Я уверен, на 16 МГц AVR можно эмулировать RISCV лучше, чем 1 КГц.
В своем "нанокомпьютере" cpm4nano я тоже сначала использовал карточку для эмуляции ОЗУ (с кэшированием, естественно). Кстати, в начале компьютерной эры был компьютер, который использовал магнитный барабан как ОЗУ. Но потом применил две I2C-микросхемы FRAM (64 КБайт памяти в сумме), что существенно повысило быстродействие (ведь 328-я атмега еще и эмулирует Intel 8080, выводит изображение на телевизор (два виртуальных экрана 40x20 символов), работает с карточкой, хранящей образы CP/M-дискет). Правда в опросе PS/2-клавиатуры помогает малая STM-ка. А так - полноценный CP/M-компьютер на Arduino Nano с вполне интерактивной консолью, но медленно работающими программами. Если гасить экран на время выполнения программ (как FAST MODE на ZX81), то получается побыстрее - 500-600 кГц i8080.
Но потом применил две I2C-микросхемы FRAM (64 КБайт памяти в сумме), что существенно повысило быстродействие
Ну есть же 23LC1024, уже в сотню раз быстрее чем по и2ц телепать...
Это, конечно, так, но на SPI висит карточка, а при чтении/записи дискет нужен доступ к ОЗУ, которое бы висело на той же шине, и потребовалось бы выбрать два SPI-устройства одновременно :-(
Странно что нужно два устройства выбирать. Обычно у библиотеки файловой системы, через которую работаешь с карточкой свой буфер сектора в обычной ОЗУ. Впрочем, если SPI действительно занят - можно юзать софт-SPI. При грамотной реализации будет в пару раз медленней аппаратного на запись и раза в три медленней на чтение. Всё равно в десятки раз шустрее I2C (вероятно, логично будет карточку повесить на софтовый, оперативку на аппаратный SPI). 23LC1024 ещё поддерживает режим QSPI, кстати. При грамотной софтовой реализации будет скорость на уровне аппаратного SPI.
Атмега параллельно со всеми другими заботами еще и формирует видеосигнал для телевизора (даже наоборот, видео - это главная, а остальное в основном во время обратного хода луча. В самой ассемблерной процедуре формирования видео посчитан буквально каждый такт, да и хитрости тоже, чтобы джиттера не было - ведь прерывание может приключиться внутри машинного цикла, и тогда на пару тактов сдвинулось бы начало тв-строки). Так вот, ежели прямо в середине процедуры софтового обмена с карточкой сработает прерывание для переключения на формирование строки, то SPI - устройству такой вариант не понравится.
P.S. Файловой системы на карточке нет, я работаю напрямую с секторами.
P.P.S. Я экспериментировал и с "дискретной" видеокартой на еще одной атмеге как раз с SPI-видеопамятью - получается чудесный ПЛАВНЫЙ ПОПИКСЕЛЬНЫЙ вертикальный скроллинг из-за банальной возможности выбирать в видеоОЗУ начало кадра (такое было в одном Armstrad-е). Но чэллендж был сделать самодостаточный компьютер, работающий под управлением CP/M, именно из одной атмеги + малая стм-ка для опроса PS/2-клавиатуры.
Компьютер, использовавший магнитный барабан как ОЗУ, был далеко не один в те времена (взять хотя бы Bendix G-15, починяемый Usagi Electric, — у него и регистры на барабане хранятся), более того, в качестве оперативной памяти использовались также барабаны с конденсаторами, электронно-лучевые трубки и трубы горячей ртути.
КДПВ прекрасна) Слава нейросеткам) Но я немного разочарован, что на крыше не Arduino Uno)
На самом деле лютейший баян. Емнип Linux на atmel avr запускали ещё в десятых, подключалась плашка древней simm памяти. https://dmitry.gr/?r=05.Projects&proj=07. Linux on 8bit
Если бы вы прочитали новость, а не только заголовок, вы бы увидели, что этот случай здесь рассмотрен.
Да, так далеко я не стал читать. У вас вводная часть сильно затянута, и заголовок кликбейтные. Выпоймите, у лонгридов в принципе дочитывания весьма скромные..
..поэтому сутьновости пишут сразу за короткой вводной частью в виде опятьже короткого саммари, а потом и все остальное содержание и словоблудие. Писать же основную суть в конце - это стратегическая ошибка.
Пожалуйста, не пишите комментариев к публикациям, которые вы не прочитали.
У вас вводная часть сильно затянута
все остальное содержание и словоблудие
То есть вы не только не читали новость, написали явно демонстрирующий это комментарий (чем проявили полное неуважение к автору), а теперь ещё и начинаете критиковать текст, не забывая дерзить? Это просто возмутительно. Вам сейчас полагается поджать хвост и просто замолчать.
Объём всего текста составляет около 550 слов. У взрослого человека скорость чтения про себя составляет 200–300 слов в минуту. Текст на две минуты чтения по определению не может быть затянут.
заголовок кликбейтные.
Слово «кликбейт» из-за частоты использования на Хабре доведено до полного семантического насыщения. Его никто уже не использует правильно.
Кликбейт — это привлечение внимания в ущерб качеству восприятия. Кликбейтный заголовок достигается несколькими техниками:
Сокрытие части контента намёком на продолжение внутри: «Линус Турвальдс назвал любимый дистрибутив Linux» (если до ката дистрибутив так и не назван, то это кликбейт, да и вообще лучше вывести название в заголовок).
Прямое или непрямое введение в заблуждение: «Google вынуждена платить за поиск уязвимостей» (на деле баг баунти — стандартная практика и лишь демонстрирует, что компания хочет исправлять уязвимости).
Ничем не обоснованные преувеличения значимости: «Из-за удаления systemd в Debian произошёл раскол» (форк Devuan существованию Debian не угрожает, вряд ли он переманил какие-то ключевые фигуры мейнтейнеров оригинала).
И список продолжается.
Жизненно важно избегать кликбейт. Одновременно с этим заголовок на Хабре может и должен быть сочным. Нет ни единой причины стесняться привлекательных заголовков. Заголовок ограничен по длине и по определению не может уместить всю статью — иначе это был бы твит.
К примеру, «Ютубер бесплатно вернул зрение тысяче слепых людей» — не кликбейт, потому что это действительно и произошло. Это точное описание произошедшего: он оплатил медицинские расходы слепых и слабовидящих пациентов. Он не сам их лечил, но выражение «вернуть зрение» в данном контексте допустимо. Остальные разговоры про этичность такого контента в заголовок банально не уместятся.
В каком месте вводит в заблуждение лаконичный заголовок «Энтузиаст запустил Linux на Arduino Uno»? Кстати, дальше, в абзаце до ката, вся суть раскрыта. Я никогда не пытаюсь скрыть сочные детали и наоборот, вывожу их в лид.
Попробуйте предложить замену моему заголовку. Уверяю, получится коряво и длинно. А насколько я понял, вы не любите, когда «вводная часть сильно затянута».
Выпоймите, у лонгридов в принципе дочитывания весьма скромные..
поэтому сутьновости пишут сразу за короткой вводной частью в виде опятьже короткого саммари
С каких это пор текст на 2 минуты чтения стал лонгридом?
Вы это таким интересным тоном сообщаете — «пишут». Кто пишет?
Я пишу связный текст, а не попунктовый конспект. Если у вас центры удовольствия поджарены выбросами эндорфинов от потока видеороликов «Тиктока» и прочих клиповых форм контента, я тут ничем помочь не могу.
Писать же основную суть в конце - это стратегическая ошибка.
Иногда пишу по схеме перевёрнутой пирамиды (лид — тело — бэк), иногда пишу с переходом от бэка на суть. В обоих случаях находятся комментаторы, подобные вам, которые текст не читают. Закономерности нет.
И поучать меня, как писать правильно, успевают тоже все. Тут ничего удивительного: лучшие футболисты всегда сидят на трибунах, а не бегают на поле.
P.S. Там еще и эмуляция ARM, а не RISC.
P.P.S. С армом и эмуляцией связан один забавный, но малоизвестный факт - когда разрабатывали самую первую версию арм-инструкций, то процессор эмулировали на .... 8-битном BBC Micro :-)
Вспомнилось, как в 2010 запускал Warcraft3 на ЧПУ плазменной резки и, простите за каламбур, резался на нём в варик, пока он резал металл ?
Коллеги по цеху сначала офигевали, потом оставались после работы гамать, потом начальство это запалило и прикрыло лавочку ?
Умелец из Вьетнама побил антирекорд Дмитрия
А Дмитрий, кстати, не почил на лаврах, а разработал печатную плату-визитку с микроконтроллером помощнее и USB-разъёмом, которая эмулирует MIPS R3000.
Теперь насладиться загрузкой linux на 32-выводном микроконтроллере можно за считанные минуты, см. https://dmitry.gr/?r=05.Projects&proj=33. LinuxCard
Энтузиаст запустил Linux на Arduino Uno