В России не любят Линукс. Студенты и корпорации всячески отлынивают его использовать, даже если Линукс насаждают преподаватели или госзаказчики. Но есть область, в которой Линукс придется полюбить. Это разработка микросхем. Даже внутри Apple и Microsoft инженеры используют Synopsys Design Compiler / IC Compiler и Cadence Genus / Innovus, у которых вообще нет версий для Windows и MacOS, только для Linux. Да, я знаю, что Synopsys и Cadence ушли из России. Но даже открытые тулы для синтеза ASIC - Open Lane - есть только под Linux.

Я уже несколько лет использую для семинаров по FPGA загружаемые через USB SSD диски, на который ставится весь необходимый софтвер. Такое решение позволяет избежать агонии первого дня семинара, когда приходит куча народу со своими ноутбуками, три часа ставят Quartus, а потом мучаются с драйверами USB Blaster для китайского контрафактного клона, который без танцев с бубном не хотят поддерживать ни Win10, ни Linux, ни особенно Win11.

С Win11 совсем трэшак - оно хочет подписанных драйверов, а какие подписанные драйверы для контрафактных USB бластеров, которые производятся в Китае наверное более 15 лет? У меня из-за этого чуть не накрылся семинар в Киргизии в прошлом году. Спасло только то, что университет еще не сделал апгрейд с Win10 на Win11. Сейчас я знаю, что можно было отключить эти подписанные драйверы. Или купить 20 плат не по $50, а по $200 - у дорогих плат такой проблемы нет. $1000 или $4000 - это большая разница.

А как же виртуальные машины? - спросите вы. С моей точки зрения они вносят дополнительный уровень танцев с бубном. И это не мое дремучее мнение - так же считает мой приятель, который работал над виртуализацией в Микрософте. То оно USB порт не пробивает, то еще какие-нибудь глюки. Плюс учить дополнительные опции, качать и копировать файлы в десятки гигабайт. А тут вставил в USB порт, и если загрузится, то заработает.

Конечно, загружаемые SSD тоже не без проблем: тут и Legacy BIOS boot против UEFI boot, и Secure Boot с Bit Locker, и зловещий "хвост GPT", и отрубание всего из-за скачка напряжения в USB хабе - но с этими проблемами мы методично разобрались. Решение я и описываю в этой заметке, предназначенной в первую очередь для учеников и руководителей кластеров в Школе Синтеза Цифровых Схем, которая начинается с сентября в 14 российских городах (объявления и точных дат еще нет, но уже записалось 200 учеников).

Прежде всего: как выглядит загружаемый SSD? А вот так. Всего $8 за 120GB (1 2) или $12 за 240GB. К нему еще нужен SATA-to-USB 3.0 адаптер за $3.46 (нужно внимательно смотреть чтобы брать USB 3.0 а не 2.0).

Тут вы можете спросить: А как же флешки? Зачем большие по физическому размеру SSD? Отвечаю: С флешек пускают всякие легкие программы типа Ардуино. Синтез цифровых схем - это тяжелые программы, использующие много памяти и работающие с кучей временных файлов. По моему опыту, на флешке они настолько раздражающе тормозят, что хочется выдернуть флешку и швырнуть ее об стену. Хуже раздражает только ChatGPT если дать ему задание написать конвейерный дизайн на SystemVerilog и он уверенно пишет несинтезируемый код по аналогии с C++.

Но вернемся к SSD. Начнем с использования. Предположим что я привез стопку SSD на семинар, или загружаемые SSD уже изготовил один из руководителей кластера Школы Синтеза Цифровых Схем.

Распознавание звука флейты с помощью FPGA платы на семинаре LaLambda в Грузии
Распознавание звука флейты с помощью FPGA платы на семинаре LaLambda в Грузии

Часть I. Загрузка с SSD

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

  • ASUS, Acer: DEL или F2

  • Dell: F12 or F2

  • HP: F10

  • Lenovo: F2 или Fn + F2 (ноуты), F1 (десктопы), Enter + F1 (ThinkPad)

  • MSI: DEL

  • Samsung: F2

Если такой вход работает, то вы увидите меню вроде этого. С него можно загрузиться с SSD. SSD с Simply Linux, который мы сформировали, поддерживает и загрузку через UEFI, и более старую Legacy Boot загрузку:

Что же делать, если клавиши при включении компьютера не работают? Это могут быть козни Микрософта - он сделал загрузку не-виндоус трудной в Windows 10 и Windows 11 с помощью Secure Boot и Bit Locker. В таком случае попробуйте загрузить Windows, пойдите в Settings и найдите там (Микрософт это спрятал, но через поиск находится) "Advanced Startup". Вы увидите кнопку "Restart now". Нажмите ее:

Система перезагрузится и вы увидите такой экран. Нажмите "Use a device":

Теперь нажмите "Linpus lite". "EFI USB Device" тоже может работать, но не всегда:

После чего начинает грузиться Simply Linux.

(Если совсем не начинает - попробуйте отключить Secure Boot и Bit Locker в Windows, а также потыкать в установку UEFI boot против Legacy BIOS boot в Troubleshoot на картинке вверху. Но если вы дошли до этой стадии, то все нужно делать осторожно, желательно с продвинутым товарищем, обращая внимание на все предупреждения от Микрософта с их угрозами зашифровать диски и восстанавливать только после звонка в Микрософт если у вас есть там аккаунт.)

Пароль пользователя verilog на загружаемом SSD - тоже verilog.

Почему мы выбрали именно Simply Linux от Базальта? Три причины:

  1. Локальная российская поддержка.

  2. Другие российские линуксы почему-то не бутились на компьютере Lenovo Yoga с secure boot. Для Astra Linux и RedOS появлялась ошибка "Error: Blocked by current security policy". С ROSA и Green Linux было что-то еще хуже (уже не помню что - типа Green загружался с SSD только на компьютер, на котором его устанавливали).

  3. Отличия поменьше, например: симулятор Icarus Verilog на Simply ставился из пакета (правда только стабильная версия 11.0, версию 12.0 нам пришлось запрашивать). А вот на Astra Linux этот симулятор пришлось нетривиально строить из исходников, вместе с GTKWave. Хотя он в конце концов заработал, что говорит в пользу Астры, так как на RedOS и ROSA я построить Икарус из исходников так и не смог.

Часть II. Обновление репозиторий

После загрузки нужно обновить репозитории с примерами на верилоге. Для этого нужно подключиться к интернету, открыть терминал и проверить, каких из нужных пакетов не хватает (их нужно клонировать), а какие уже есть (их нужно обновить). Например если директория ~/projects/basics-graphics-music уже существует, то нужно ввести команды:

cd ~/projects/basics-graphics-music
git pull

Но если директории ~/projects/basics-graphics-music нет, то

cd ~/projects
git clone https://github.com/yuri-panchul/basics-graphics-music.git

Аналогичным образом нужно поступить с репозиториями https://gitflic.ru/project/yuri-panchul/valid-ready-etc и https://gitflic.ru/project/yuri-panchul/systemverilog-homework (они будут меняться весь август, сейчас первая в нестабильном состоянии, а вторая пустая).

Пару слов о содержании репозиториев.

  1. Основной набор вводных примеров - репозиторий basics-graphics-music. Он похож на репозиторий прошлого года в Бишкеке, и примеры на Школе Синтеза прошлого сезона, но отличается радикально большей портабильностью примеров.

    Все примеры должны работать на зоопарке плат - не только Omdazz, но и куче других (не только с FPGA от Intel/Altera, но и Xilinx, Gowin и Lattice). При первом запуске скрипта он спрашивает, какую плату вы используете, после чего вы просто работаете в независимом от платы модуле top.sv, который в свою очередь инстанциируется в board_specific_wrapper.sv (в который вам как правило заглядывать не нужно). Работать вы можете как со скриптами, так и с GUI.

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

  2. Задачки на знание языка SystemVerilog и алгоритма работы симулятора. Эти задачки будут выставлены в репозитории systemverilog-homework в течение августа и будут базироваться на задачах предыдущих лет, например из бишкекского репозитория.

  3. Задачки на микроархитектуру: конвейеры, арбитры, контроль потока данных, очереди FIFO, пересечение тактового домена - без знания всего этого пройти интервью на RTL Design позицию в крупные электронные компании невозможно. Одновременно вводятся элементы верификации, без которых невозможно пройти интервью на и Design Verification позицию. Эти задачи находятся в репозитории valid-ready-etc которые сейчас обновляется, будет готов к сентябрю.

Помимо этих трех репозиториев будут репозитории из МИЭТ с их собственными процессорными ядрами. МИЭТ на них делал например хакатон по изменению конвейера процессора.

Справа от программистки RTOS Маши - загружаемый SSD и три платы: Omdazz, Zeowaa и DE10-Lite, которые уже поддерживаются скриптами в basics-graphics-music
Справа от программистки RTOS Маши - загружаемый SSD и три платы: Omdazz, Zeowaa и DE10-Lite, которые уже поддерживаются скриптами в basics-graphics-music

Часть III. Проверка работы с FPGA платой

Что же делать после загрузки SSD? Стоит проверить как он работает с вашей платой. Тут есть момент - в момент подключения платы к компьютеру - Линукс может накрыться медным тазом (к счастью не перманентно, только до перезагрузки). Это особенно касается плат типа Omdazz и Saylinx, у которых два USB шнура - один для питания, другой для программатора (USB Blaster II). Особенно часто это происходит, если все (загрузочный SSD, плата, клавиатура, мышка) - подключены через общий USB hub, у которого еще и нет дополнительного питания.

Глюк по-видимому происходит из-за скачка питания, но может быть и что-то связанное с SATA-USB адаптером. Это лечится разными способами: использованием разных USB портов, использованием хаба с дополнительным питанием, подключение шнура питания к другому компьютеру. В любом случае подключение всего лучше делать при выключенном компьютере. Хотя в современном Линуксе надежная файловая система с защитой против разных сценариев, но я не знаю, что может случиться при сбое посреди какой-нибудь операции.

Но пора что-нибудь запустить. Для начала скажем компьютеру, какая у нас плата. Для этого мы запустим скрипт check_setup_and_choose_fpga_board.bash:

cd ~/projects/basics-graphics-music
./check_setup_and_choose_fpga_board.bash

Скрипт выведет список поддерживаемых плат и спросит, какую из них вы хотите использовать. Выберем номер 6, плату Omdazz:

Скрипт сообщит имя выбранной платы и сохранит ваш выбор в текстовом файле в верхней директории репозитории:

Далее скрипт задаст вопрос, хотите ли вы, чтобы он создал временные рабочие директории для всех примеров репозитория на основе вашего выбора платы. Если не любите скрипты и собираетесь далее работать только с графическим интерфейсом программы синтеза Quartus, ответьте Y ("Да"). Если же вы собираетесь далее использовать скрипты - все равно как отвечать.

Теперь заходим в поддиректорию labs/01_and_or_not_xor_de_morgan и видим там скрипты для каждого шага работы с примером. Запустим скрипт 03_synthesize_for_fpga.bash для синтеза с выбранной FPGA платой.

cd labs/01_and_or_not_xor_de_morgan
./03_synthesize_for_fpga.bash

Оно должно синтезировать код примера на верилоге и прошить память конфигурации FPGA.

Иногда оно не прошивает с первого раза. Выглядит это так:

Тогда нужно выткнуть и воткнуть USB шнур в USB Blaster, после чего запустить скрипт ./04_configure_fpga.bash. Скорее всего все получится, если выбрана правильная плата:

Теперь вы можете понажимать кнопки на плате и посмотреть на изменение светодиодов, в соотвествии с кодом на верилоге:

Синтез, редактирование исходников и прошивку схемы в FPGA можно также делать в GUI. Я описал как это делать в слайдах для Иннополиса, Бишкека и Тбилиси. Также вам об этом расскажут преподаватели Школы Синтеза Цифровых Схем. В этом посте только замечу, что в GUI есть отличный RTL Viewer, который покажет вам, во что превращается ваш код на верилоге:

Слайд из презентации bit.ly/2022-08-01-verilog-1-bishkek-yuri-panchul
Слайд из презентации bit.ly/2022-08-01-verilog-1-bishkek-yuri-panchul

Будем считать, что вы проверили, что SSD и ваша плата вместе работают. Для законченности картины стоило было бы еще спаять и подсоединить микрофон, усилитель и VGA монитор, а также купить блокфлейту и попробовать упражнения с распознаванием и генерацией звука и графики. Вот как это выглядело в Тбилиси на конференции LaLambda:

В дополнение к этому посту вы можете просмотреть мою сессию по использованию загружаемого SSD с Борисом Краснянским в реале, который работает над портированием плат: 1, 2, 3, 4.

Часть IV. Синтез для ASIC

В новом сезоне Школы Синтеза мы решили ввести синтез для ASIC рано. Потому что мы выращиваем не только FPGA, но и ASIC дизайнеров. Нам нужно познакомить будущих создателей CPU, GPU, ускорителей ML и чипов для магистральных маршрутизаторов - c маршрутом RTL-to-GDSII, библиотеками стандартных ячеек (ASIC standard cells) и как выглядят отчеты по статическому анализу тайминга для ASIC. Поэтому мы включили в загружаемый SSD пакет открытых средств проектирования для ASIC софтвер под названием Open Lane.

Open Lane - это довольно большая коллекция тулов, которая работает под Docker. Но для начального ознакомления мы свели его к трем скриптам:

  • 06_synthesize_for_asic.bash

  • 07_visualize_asic_synthesis_results_1.bash

  • 08_visualize_asic_synthesis_results_2.bash

Скрипты работают (далеко) не для всех примеров, но мы работаем над тем, чтобы все примеры для FPGA также синтезировались для ASIC.

Первый скрипт, 06_synthesize_for_asic.bash, запускает все 42 шага синтеза, размещения и трассировки, после чего извлекает из моря информации ключевые отчеты:

asic_01_main.log
asic_02_synthesis.v
asic_03_placement.nl.v
asic_04_routing.nl.v
asic_05_final_no_power_grid.nl.v
asic_06_final.v
asic_07_static_timing_analysis.sta.max.rpt
asic_08_static_timing_analysis.sta.min.rpt
asic_09_static_timing_analysis.sta.power.rpt
asic_10_library_exchange_format.lef
asic_11_magic.mag
asic_12_standard_delay_format.sdf

Второй скрипт, 07_visualize_asic_synthesis_results_1.bash, запускает GUI на питоне, которое показывает что получилось в виде файла в формате GDSII - слоев и геометрических фигур. Этот файл отправляется на фабрику, чтобы на его основе сделать маски и выпечь микросхемы:

Третий скрипт, 08_visualize_asic_synthesis_results_2.bash, показывает то же самое с помощью редактора klayout. Не волнуйтесь, мы не будем заставлять учеников редактировать GDSII файл. Вообще на таком низком уровне процессор проектировали только титаны типа Федерико Фаджина, который задизайнил первый в истории микропроцессор Intel 4004.

Часть V. Пара мелких моментов

1. Размер партиции у SSD

Приготовленный нами в кооперации с Базальтом имидж SSD занимает примерно ~20 GB в упакованном виде и ~50 GB в распакованном. Когда вы грузитесь с него в первый раз, то вы увидите, что на диске всего ~50 GB пространства, бОльшая часть которого уже занята. Однако когда вы загрузитесь второй раз, партиция будет растянута на все имеющееся у вас пространство SDD: 120 GB, 128 GB, 240 GB, 480 GB итд.

2. Visual Studio Code

В последнее время все больше разработчиков используют среду VS Code, в том числе под Линуксом. VS Code. Я забыл попросить Антона Мидюкова из Базальт СПО поставить VS Code, потому что привык что люди используют vim, emacs или встроенный редактор в Midnight Commander.

Лично я использую редактор joe, который является клоном (сейчас вы угадаете мой возраст) редактора в TurboC 1.5, но с квадратными блоками, шаблонами и другими улучшениями. К квадратным блокам (которые кстати реализованы криво в современном редакторе Sublime Text 3) я привык в лучшем редакторе начала 1990-х - MultiEdit.

TurboC IDE, выпущенный в 1987 году. Использовал встроенный редактор, имитирующий WordStar. Редактор Joe (Joe's Own Editor) тоже имитирует WordStar, но содержит улучшения, напр квадратные блоки.
TurboC IDE, выпущенный в 1987 году. Использовал встроенный редактор, имитирующий WordStar. Редактор Joe (Joe's Own Editor) тоже имитирует WordStar, но содержит улучшения, напр квадратные блоки.

Но к популярности VS Code среди молодежи я отношусь нормально. Преподаватели МИЭТ его тоже рекомендуют, так как у него низкий порог входа, есть дерево файлов слева и можно включить консоль снизу.

Как установить VS Code на Simply Linux расписано на сайте altlinux.org. Также у VS Code есть есть куча плагинов (extension), в том числе для SystemVerilog. Мне зашел вот этот:

Часть VI. Как приготовить загружаемый SSD

Прежде всего вам нужно связаться с организатором Школы Синтеза Цифровых Схем Александром Биленко (a.bilenko@yadro.com) и получить от него ссылку для скачивания имиджа. В принципе, на этом инструкцию можно было бы закончить и сказать "ну и используете dd или там dcfldd", но не все так просто. Из-за проблемы, которая называется "хвост GPT" (не путать с ChatGPT).

GPT - это Global Partition Table. Оказывается этих таблиц на диске две - основная и резервная. Я уже упоминал, что файл имиджа (~50 GB в распакованном виде) меньше чем размер любого SSD (который сейчас начинается с 120 GB и даже 5 лет назад начинался с 60 GB). Поэтому если на SSD есть две GPT, то после записи имиджа резервная таблица не будет переписана. Она будет там лежать и мешать первой загрузке (как я уже упомянул в V.1, при повторной загрузке имидж расширится с 50 GB на все пространство диска SSD).

Такой проблемы нет, если диск размечен без GPT, со старыми DOS Partitions. Но для гарантии вторую GPT нужно стереть. Именно это и делает скрипт erase_ssd_gpt_and_write_bootable_image.bash , который находится в директории /home/verilog/projects/basics-graphics-music/scripts/admin.

Этот скрипт нужно поместить в директорию с имиджем SSD, файлом с расширением .img. Или поместить имидж в директорию со скриптом, после чего запустить, причем под sudo. Скрипт проверит, что имидж один, спросит, какой диск переписать, проверит, что этот диск не смонтирован, заставит принести клятву, что вы знаете, что вы делаете (написать "I SWEAR!"), после чего скрипт послушно запишет имидж на выбранный SSD. Операция занимает десятки минут.

На этом я свой рассказ заканчиваю и надеюсь, что читатель достаточно заинтригован, чтобы войти или продолжить свое путешествие по мирам русских Линуксов, FPGA или ASIC Design.

Комментарии (150)


  1. Fox_exe
    14.08.2023 08:44
    +12

    Microsoft: Не работает проброс USB в виртуалки!

    VMWare, VirtualBox - Ну да, ну да, пошёл я на...


    1. YuriPanchul Автор
      14.08.2023 08:44
      +4

      По непонятной для меня причине я не смог сохранить состояние при выходе из VirtualBox. Даже если бы он работал идеально, на первом занятии семинара была бы возня с копированием 50 GB имиджа в виртуалку (а если в ней Xilinx Vivado размером 80 GB то больше). А с SSD просто вставил и пошел.


      1. Fox_exe
        14.08.2023 08:44
        +2

        Ну я сам VirtualBox (Portable) на 2.5 USB SSD ставил и оно отлично работало (С десятком разных виртуалок в комплекте). Только перед первым запуском надо не забывать поставить комплектные драйвера.

        По USB пробрасывал много всякого разного, в основном - старые телефоны и планшеты, да всякие специфичные девайсы для работы с машинами (Зачастую это были настолько старые девайсы, что софт для работы с ними работает исключительно под DOS или Windows XP). Проблемы были только раз - из-за девайса с USB 1.1 и Windows 98...


        1. YuriPanchul Автор
          14.08.2023 08:44
          +3

          То есть вы предлагаете вставлять SSD и запускать VirtualBox на нем? А чем это лучше в нашей конкретно ситуации (куча тяжелого софта и USB для программаторов FPGA плат)?


          1. Fox_exe
            14.08.2023 08:44

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

            А может и вовсе не запуститься из-за отсутствия или некорректной работы какого-то драйвера.

            VirtualBox или VMWare просто работают. У них только драйвер сети может взбрыкнуть (USB, если не ошибаюсь, пробрасывается "Нативно", без драйвера)


            1. YuriPanchul Автор
              14.08.2023 08:44

              *** Виртуалка запускается сразу и на любом железе. ***

              Так оно и так и так быстро запускается. А виртуалку еще инсталлировать надо.

              *** Только перед первым запуском надо не забывать поставить комплектные драйвера. ***

              Вы имеете в виду драйвера для USB Blaster для виндоус (вне виртуалки) или для linux (внутри виртуалки)?


              1. Fox_exe
                14.08.2023 08:44

                Надо ставить на хост драйвер VBoxUSB и VBoxNetwork. Внутри виртуалки, само собой, ставится VBox Guest Additions.

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


                1. YuriPanchul Автор
                  14.08.2023 08:44

                  Так оно на линуксе с SSD и так работает (то что мне нужно то бишь USB Blaster). То есть виртуалка мне в этом смысле ничего не улучшает, а вот дополнительный геморой (ученики должны у себя на зоопарке компьютеров инсталлировать VirtualBox) прибавляет.

                  Да и Гугл говорит тут не все идеально. И комментаторы ниже про "легче SSD чем с виртуалкой воевать"


          1. veryboringman
            14.08.2023 08:44

            Когда у Вас не заработает wifi на загруженном с USD linux - вот тогда и станет понятно, что linux - не панацея.

            А глюков там потенциально хватает разных.


            1. YuriPanchul Автор
              14.08.2023 08:44

              А есть гарантия что wifi заработает на линксе внутри виртуальной машины?


              1. Fox_exe
                14.08.2023 08:44

                Да. Ведь там драйвера будут установлены и настроены заранее.


                1. YuriPanchul Автор
                  14.08.2023 08:44

                  Тем кто готовит образ виртуальной машины? А как это отличается от драйверов на загружаемом SSD? Они тоже устанавливаются заранее для разных конфигураций.


                  1. Fox_exe
                    14.08.2023 08:44

                    Нет. Внутри виртуалки ставится только драйвер виртуального адаптера. На хосте можно вообще ничего не ставить (Работает в режиме NAT), либо ставить драйвер виртуального адаптера, если нужен сетевой мост.

                    Тоесть не надо ставить 100500 драйверов на все случаи жизни. Достаточно этих двух (одного).

                    Вообще виртуалка в данном контексте нужна исключительно для решения проблем при переносе на новое железо, минимизируя кол-во телодвижений для запуска (Достаточно лиш поставить на хост дрова от самой виртуалки, да запустить её. Портативный вариант рулит. Можно даже вообще всё в один bat'ник утрамбовать и запускать одним нажатием.)
                    Но да, теряем сколько-то оперативки на хост-систему. Это главный минус.


                    1. YuriPanchul Автор
                      14.08.2023 08:44

                      Теперь я вобще ничего не понимаю. Так проблема с USB Blaster не у линукса внутри виртуалки, а у Windows хоста, как я наблюдал еще на семинаре в 2015 году и как написал DmitryZlobec ниже.

                      Из-за разных версий Windows, разных установок в них, ордунга Микрософта и разгильдяйства Интела, которые умудрились в 2021 году выпустить неподписанный драйвер для скачивания.

                      Критическим ресурсом в моих условиях является внимание учеников, которые, если на первом дне семинара не начнут сразу играться с FPGA, а провозятся три часа, стоя в очереди к преподавателю с вопросами "а у меня виртуалка на моем ноутбуке не ставится" - то они потеряют интерес и просто начнут расходиться. И на второй день не придут.


                      1. veryboringman
                        14.08.2023 08:44

                        Если вы пробрасываете USB устройство внутрь виртуальной машины - то проблемы с windows драйверами не будет. Будут использоваться линуксовые.

                        А вот я бы не взялся разбираться в срочном порядке почему отваливается wifi на очередном ноуте и какая там нужна версия ядра и какие параметры прописывать для модуля.

                        На хост машине Вам надо будет просто поставить VMWare/Virtualbox, там все в комплекте (виртуалка будет ходить через виртуальный сетевой адаптер и ничего знать не будет про сетевую карту хост-компьютера). Можно, как правильно выше написали, сделать bat файл и все будет ставиться автоматом, при этом ученики могут делать снапшоты виртуалки - на случай если что-то сломают, чтобы откатиться назад.


                      1. YuriPanchul Автор
                        14.08.2023 08:44

                        То, что я написал - уже работает - если линукс вообще стартует (может не стартовать из-за бит локера), то дальше проблем с драйвером USB Blaster не случается.

                        Проблемы с wifi под линуксом я видел - с ноутбуками Dell 2008 года и предыдущими версиями Ubuntu. Но сейчас это проблема редкая (с новым Lubuntu, с Simply Linux и более-менее свежими ноутами я такой проблемы еще не видел). На случай если она в аудитории случается я вожу с собой три гарантированно совместимых с Linux USB-шных wifi-адаптера.

                        То есть описываемой вами проблемы у меня последние пару лет нет. А вот лишнее действие - "Так, а теперь все ставим у себя на компьютерах VMWare/Virtualbox" - это в моих условиях затрата, даже если оно будет ставится автоматом из .bat файла.

                        Насчет откатывания - там нечему особенно ломаться кроме редактирования кода примеров, но это решается одной командой git checkout .


                      1. YuriPanchul Автор
                        14.08.2023 08:44

                        *** Если вы пробрасываете USB устройство внутрь виртуальной машины - то проблемы с windows драйверами не будет. Будут использоваться линуксовые. ***

                        А что же тогда происходит у Дмитрия, он не новичок в этом деле - https://habr.com/ru/articles/754262/comments/#comment_25856696


                      1. veryboringman
                        14.08.2023 08:44

                        Я последний раз наблюдал проблемы с wifi месяц назад - ведь новые чипсеты выходят, а поддержка хуже чем в windows практически всегда. Конечно, можно и адаптеры возить.. Но зачем? Виртуалку можно раскатать вообще с одной флэшки, времени это займет немного и будет полностью автоматизировано. При этом студенты смогут продолжить пользоваться инсталляцией даже когда вы уедете. Ведь Вы не будете им удаленно администрировать их инсталляции линуксов?

                        А что касается Дмитрия - без технических деталей все сводится к эмоциональному обмену личными предпочтениями. А от него никаких подробностей нет совсем. Эмоционально же - не вижу проблем с windows, если человеку она удобнее, а Virtualbox - бесплатен.

                        Все Ваши проблемы можно было решить без использования загрузочного диска с linux - просто эмоционально Вам этот вариант больше нравится. С эмоциями сложно спорить.

                        PS. Передайте знакомому, который работает в VMWare, что бы не ломал проброс USB! ;) Очень удобная и важная фича.


      1. quaer
        14.08.2023 08:44

        А что в 80 ГГб Vivado? Почему так много?


        1. YuriPanchul Автор
          14.08.2023 08:44

          Ой, это вы у Xilinx спросите. Это мистерия - у Altera было достаточно несколько гиг, хотя она тоже выросла после покупки Интелом. Наверное из-за IP блоков, high-level synthesis, ML и ненужных большинству аппаратно-программных платформ связанных с Zynq.


    1. DmitryZlobec
      14.08.2023 08:44
      +7

      Проброс может и работает, а вот Quartus с USB Blaster'ом через этот проброс у меня не заработал. А тратить время чинить это, занятие странное, так как все равно основная ОС это Linux. Если кто сделает и статью про это напишет, будет здорово. Плюс виртуалки в том, что она позволяет держать несколько образов не смешивая, но как оказалось проще внешний диск цеплять, чем с виртуалкой воевать.


    1. vikarti
      14.08.2023 08:44
      +1

      Может проблема что бластеру надо изохронный режим? При этом не до всего софта виртуализации это доходит.
      Ну там — не зря ж у VMWare https://docs.vmware.com/en/VMware-Workstation-Pro/17/com.vmware.ws.using.doc/GUID-54FB8AA7-282B-4FB0-BB46-F0EBBF58A3E5.html — хотя казалось бы ну очевидно ж.


      А Hyper-V разве вообще когда то умел в проброс?


      1. LuchS-lynx
        14.08.2023 08:44

        А Hyper-V разве вообще когда то умел в проброс?

        вроде бы завезли, но тут нужно понимать что версии в разных номерных ОС Windows отличаются между собой, а еще отличаются в варианте для Server и Desktop. Сейчас пробросы завезли, но я не скажу что это удобно, на мой взгляд KVM + QEMU/virt-manager или Proxmox в разы удобнее и больше опций.


      1. AndronNSK
        14.08.2023 08:44

        Нет. Только сторонним ПО usb via LAN.


    1. geher
      14.08.2023 08:44
      +3

      Проброс USB в виртуалки - штука занятная. Оно во многих виртуализаторах декларируется, но работоспособность не всегда соответствует ожиданиям. Флэшку, конечно, завсегда пробросить можно, а вот что-то посерьезнее может озадачить. Лично не раз сталкивался с разными случаями.

      Например, USB ТВ тюнер. USB 2.0. Заработало в Virtualbox только после появления версии с поддержкой 3.0 и только в режиме 3.0 (что требовало установки пакета расширееия, а у него лицензия уже не такая свободная). При настройках виртуалки с USB 2.0 не работает до сих пор даже на актуальной версии.


    1. Xadok
      14.08.2023 08:44

      Оно заявлено да, но всякие отладчики, rs232 переходники и такое прочее могут работать не так как ожидается


      1. Fox_exe
        14.08.2023 08:44

        FT232RL, CH340, CP2102 - все работают штатно даже на любых скоростях.
        ST-Link тоже без проблем во всех режимах.

        Парочку принтеров и сканеров ещё подключал. Только со сканерами кое-какие проблемы были, но с ними всегда что-то не так.

        Плюс ещё куча всяких диагностических девайсов, родом из нулевых... Тоже без проблем.

        Возможно, мне просто повезло...


  1. veryboringman
    14.08.2023 08:44
    +4

    Так вот кто виноват в том, что в Hyper-V так и не осилили проброс USB - Ваш приятель! Расскажите ему, что VMWare умела это делать 10 лет назад, пусть ему будет стыдно.


    1. YuriPanchul Автор
      14.08.2023 08:44
      +2

      Вообще-то он сейчас работает в VMWare. И согласен со мной, что виртуалка = дополнительная возня по сравнению с вставлением готового SSD. Безотносительно USB.


      1. veryboringman
        14.08.2023 08:44
        +4

        С Ваших слов выходит, что он в Microsoft не смог реализовать проброс USB, ушел в VMWare и работая там утверждает, что виртуалка - это дополнительная возня. Выглядит не очень впечатляюще для человека, работа которого должна заключаться в том, чтобы виртуалка работала максимально удобно.

        Особенно учитывая, что VMWare такой сервис (простой проброс USB) предоставляла еще много лет назад. Теперь переживаю - не поломают ли его "эффективные менеджеры" из Microsoft!


        1. Namynnuz
          14.08.2023 08:44

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


          1. veryboringman
            14.08.2023 08:44

            А могут и не вести. Я активно этот функционал использую и проблем не испытываю.


    1. cat_chi
      14.08.2023 08:44
      +4

      Так вот кто виноват в том, что в Hyper-V так и не осилили проброс USB - Ваш приятель!

      Насколько я помню, о "неосиливании" там речи никогда не шло. Они просто вообще не хотели этого делать


    1. Houl
      14.08.2023 08:44
      +5

      Если использовать отдельный PCI-E контроллер USB, то можно попробовать )


    1. CodeName33
      14.08.2023 08:44
      -1

      Hyper-V вроде как замена Microsoft Virtual PC, который проброс USB умел. И мне кажется, что наврятли они не осилили перенести этот код оттуда) Я всегда думал, что у них такой концепт - Hyper-V серверный продукт и они хотят, чтобы одна машина не была привязана к физическому серверу. т.е. она могла автоматически подниматься и запускаться на разных физических серверах, что будет проблематично, если она будет привязана к каким-то аппаратным устройствам на физических серверах. Поэтому Микрософт на вопросы пробросов USB в Hyper-V отвечали - пробрасывайте через сеть сторонним ПО и не делайте нам голову.


      1. veryboringman
        14.08.2023 08:44
        +2

        WSL2, который они активно продвигают - это не серверный, а локальный сервис. И нежелание пробрасывать USB в него со стороны microsoft выглядит как непрофессионализм и дуболомная упорость "эффективных менеджеров".

        Да, у VMWare на ESXi/VSphere проброс USB работает отлично и мной лично активно используется (как и SR-IOV), ровно поэтому никакого Hyper-V я никогда не допущу - ибо в MS менеджеры лучше меня знают, что мне нужно, а это недопустимо.


        1. CodeName33
          14.08.2023 08:44

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


          1. veryboringman
            14.08.2023 08:44

            У VMWare эта серверная технология прекрасно работает на серверах (проброс USB). А как иначе? К примеру у меня есть аппаратный ключ для коммерческого продукта, как его использовать в виртуальной среде?


            1. CodeName33
              14.08.2023 08:44

              Ну например, что есть несколько физических серверов (возможно даже в разных датацентрах), настроена репликация виртуальных машин и любая виртуальная машина может быть поднята на любом сервере, хоть на другом конце света и она даже не поймет этого и это никак не отразится на работе сервисов, что на ней крутятся. USB в этом случае пробрасывается через аппаратное USB-TO-NETWORK устройство (или отдельным сервером с софтом для проброса) со своим IP доступным отовсюду (VPN там всякий для безопасности и т.д.). И компания хочет продать идею независимости виртуалок от физических серверов своим клиентам. Но любой функционал связи виртуалки с физическим сервером идею портит, потому его и не делают. В VBox/VMWare/Qemu и звук прекрасно работает, а в Hyper-V нет (только через RDP, пока открыта сессия), подозреваю по той же самой причине. Через сеть ребята, все через сеть)


  1. Einherjar
    14.08.2023 08:44
    +21

    Если линукс используется на одной машине с виндовсом надо в линуксе вот такую команду не забыть

    sudo timedatectl set-local rtc 1

    Без нее вы при загрузке линукса получите неправильное время, если он его синхронизирует с сервером, то пропишет в uefi UTC время, и тогда кривое время будет уже при возвращении обратно в винду. А если не синхронизирует, то можно словить такие прикольные артефакты как например коммиты в git датируемые будущим временем.


    1. YuriPanchul Автор
      14.08.2023 08:44
      +1

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


    1. vhlv
      14.08.2023 08:44

      Спасибо большое, а то я всё собирался поискать, как это проблему пофиксить, но каждый раз забивал.


    1. Gendenig
      14.08.2023 08:44
      +7

      Лучше подправить реестр, чтобы винда тоже использовала UTC.


      1. Einherjar
        14.08.2023 08:44
        +4

        Имхо зависит от того, какая система является основной - в той и меньше изменений делать и править в неосновных. Если вы линукс подключаете к 100500 разным виндовым компам по USB, то очевидно что править в линуксе надо, потому что это сделать надо будет 1 раз а не 100500. Ну и субъективное мнение - линукс более устойчив к подобным шаманствам.


        1. radioxoma
          14.08.2023 08:44
          +1

          Вы серьёзно считаете, что localtime в RTC - это нормально? И все ваши установленные ОС имеют актуальную базу часовых поясов и переходов на летнее время, которая обновляется одновременно? Проблема исключительно винды т.к. даже UEFI знает про смещение +00:00.


          1. Einherjar
            14.08.2023 08:44
            +2

            Мне в целом вообще пофиг что там в RTC лишь бы работало везде нормально. Ну точнее в идеале я бы хотел чтобы ОС вообще не могли туда писать никак, и там бы всегда было только то что я сам указал (или по умолчанию) в настройках uefi. А операционки бы просто сохраняли бы себе на диск смещение от того что в RTC на основе синхронизации времени с сервером.

            Причем тут настройки специфичные для HP Proliant Gen10 я не совсем понял. В моем ноутбуке например нет настроек таймзоны. Если я там буду настраивать время, то выставлю локальное, потому что UTC считать нет никакого желания, это неочевидно.


          1. arokettu
            14.08.2023 08:44

            Дело не в одновременно / не одновременно, а в том что обе системы переведут время на час, т.к. они не знают что это сделал кто-то еще


          1. Einherjar
            14.08.2023 08:44
            +1

            И все ваши установленные ОС имеют актуальную базу

            Все мои установленные ОС ходят на сервер и берут время оттуда


            1. radioxoma
              14.08.2023 08:44
              +1

              NTP не поможет, если база tzdata (или что там в Windows) устарела.


              1. Einherjar
                14.08.2023 08:44
                +1

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


                1. radioxoma
                  14.08.2023 08:44
                  +1

                  localtime со старой таймзоной при синхронизации сломает время для всех систем на хосте, а в случае с UTC - нет.


        1. arokettu
          14.08.2023 08:44

          Обе системы в UTC = всегда верное время, обе системы в RTC = скачки, если в вашем поясе переводят время


          1. Einherjar
            14.08.2023 08:44
            +1

            Ну скачут и скачут, автоматически и прозрачно и незаметно для пользователя, пока от этого нет побочных эффектов пользователю все равно. Чтобы потешить перфекционизм и если систем действительно только две, то можно и utc настроить, как угодно, и при заходе в настройки по F12 видеть там черт знает что вместо времени. Но перечитайте сообщение - если человек с линуксом на usb приходит в организацию где 1000 компов с виндой, то что ему, выдергивать админа и с пеной у рта доказывать что utc это правильнее и он срочно должен поправить реестр на всех 1000 компах? А практический то смысл какой в итоге?


      1. tsilia
        14.08.2023 08:44

        Есть ли какие-то подводные камни, винда или виндовый софт от такого не станет глючить?


    1. iuabtw
      14.08.2023 08:44

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


      1. radioxoma
        14.08.2023 08:44

        С 2011 года есть соответствующий раздел статьи в вики арча.


  1. cat_chi
    14.08.2023 08:44
    +9

    Тезис про "не любят линукс" интересный, конечно. А кто не любит-то? ВУЗы? Государственные организации? Корпорации, которые под капотом – те же государственные организации?..

    Вот, например, IT-компании очень любят линукс. Было бы интересно посчитать процент, например, разработчиков ПО на линуксе, маке и винде. Что-то мне подсказывает, что аутсайдером будет именно винда.

    Это я к тому, что "в России" – слишком сильное обобщение. С тем же успехом можно сказать "в Германии", ссылаясь на опять-таки государственные организации.


    1. uuger
      14.08.2023 08:44
      +2

      вот да, хотелось бы увидеть какой-то измеримый параметр нелюбимости линукса вслед за утверждением


    1. YuriPanchul Автор
      14.08.2023 08:44
      +3

      Anecdotal evidence. Из группы в 15 продвинутых учеников московской 57 школы и подобных ноут с линуксом был в 2019 году у двух. Вой преподавателей в фейсбук-группах про образование "на линуксе не работает AutoCAD". Мнения преподавателей определенных вузов. Итд.


      1. cat_chi
        14.08.2023 08:44
        +13

        Anecdotal evidence[2]. В компании-разработчике ПО со штатом >300 человек ноут с Windows был где-то человек у 15 – HR, бухгалтеры и прочие.
        Остальные ~300 человек сидели на маках и линуксах. По соотношению мак/линукс точной статистики не имею, но примерно – на 1 мак приходилось 3 линукса.


        1. tommyangelo27
          14.08.2023 08:44

          UPD. удалил свой бесполезный коммент


      1. alpha_Dog
        14.08.2023 08:44
        +3

        Справедливости ради, он действительно не работает.


        1. cat_chi
          14.08.2023 08:44
          +6

          Справедливости ради – AutoCAD это проприетарный специализированный софт со вполне серьёзным ценником, особенно для узкоспециализированных вертикальных решений, типа Plant 3D или Civil 3D или что там у них есть ещё не знаю, лет 10 не интересовался.

          Для такого уровня софтин вообще не имеет значения, какую ОСь предпочитает пользователь. Что сказано в системных требованиях, то и нужно ставить, даже если это какая-нибудь древняя Windows XP, всеми забытый Solaris, ну или MacOS, для которой нужно покупать целый мак. Потому что ОСь тут вообще уже не важна, важен конкретный софт.

          Другой вопрос – что у нас за десятилетия непуганого пиратства все привыкли, что Windows поставляется с "джентльменским набором" софта, в который обязательно входят Photoshop, AutoCAD и какой-нибудь Corel, и всё это бесплатно, включая саму Windows... А закреплённые за десятилетия привычки вот так запросто не выветриваются.

          И третий вопрос – что компании типа AutoDesk активно способствуют популяризации Windows, когда одновременно ограничивают свой софт этой платформой и внедряют его в ВУЗы с помощью всяких там особых условий для студентов.


        1. YuriPanchul Автор
          14.08.2023 08:44
          +3

          Вой был в том числе от учителей средних школ. Что такое есть в программе средних школ, для чего нужен полный AutoCAD и чего нельзя заменить opensource аналогом?


          1. Koioes
            14.08.2023 08:44
            +1

            а зачем в школах линукс? Учителя все привыкли к винде, дети тоже. Всем так проще, тем более дети вряд ли потом встретятся с линуксом, а с виндой и офисом - почти гарантировано, в том же вузе, например. Вся система в РФ(да и в мире) заточена под винду


            1. cat_chi
              14.08.2023 08:44
              +3

              Дети с вероятностью примерно 100% куда больше привыкли к Android или IOS, чем к винде, не смешите


              1. Koioes
                14.08.2023 08:44
                +1

                дети же не только смартфонами и планшетами пользуются, к 5 классу уже многие осваивают пк/ноутбуки. Те же презентации сделать, реферат распечатать и т.д


                1. cat_chi
                  14.08.2023 08:44

                  Ну, в каком плане осваивают?
                  По учёбе – посерфить информацию в интернете – интерфейс браузера идентичный во всех ОСях. Сделать презентацию или реферат? Прям нечастое приключение, и какие-то различия в офисных программах там вообще погоды не сделает.

                  Вне учёбы – в игры поиграть – опять-таки используя одинаковый во всех ОСях интерфейс Steam. Ютуб посмотреть – ну вы поняли...

                  Я даже не знаю, вот правда. В сравнении с нами – миллениалами – что ещё делают современные дети с виндой? Переустановить могут? Покопаться в реестре там? ???? Они ведь даже физически куда больше времени проводят именно со смартфонами и планшетами.


                  1. Koioes
                    14.08.2023 08:44

                    можно заменить, но зачем? Если у пользователей(школ) будет такая потребность - сами перейдут. Пока, видимо, нет


                    1. cat_chi
                      14.08.2023 08:44

                      Куда заменять, что на что заменять? Вы вообще следите за диалогом?


            1. YuriPanchul Автор
              14.08.2023 08:44
              +3

              Вы в курсе, что американских школах самый популярный компьютер - не винда? И не мак?


            1. vectorplus
              14.08.2023 08:44
              +3

              Я детей учу, им пофиг, что Линукс, что Винда. Они мышкой не умеют пользоваться


              1. FFunk
                14.08.2023 08:44

                Вы их учите именно с клавиатурой работать и консольными программами, поэтому мышкой не умеют пользоваться?


                1. vectorplus
                  14.08.2023 08:44

                  Да просто с компьютером. Иногда приходится тачпад выключать, так сильна привычка пальцем возюкать.

                  Я учу программированию, поэтому без мыши никак.


          1. cat_chi
            14.08.2023 08:44

            Что такое есть в программе средних школ, для чего нужен полный AutoCAD и чего нельзя заменить opensource аналогом?

            Ну как что. Windows ZverCD Edition


          1. DmitryZlobec
            14.08.2023 08:44

            Ох.... Если честно, а смысл? если нет AutoCAD и размер А3, то быстрее на кульмане....

            За AutoCAD не скажу, а на занятия по 3DMax у меня ребенок ходил, можно конечно сказать , что Blender это правильнее, но спроецируйте это все на 6 летнего ребенка. Ситуация ровно такая же как и с SSD, реализуют что проще и в перспективе полезней.


      1. alexdevyatov
        14.08.2023 08:44
        -5

        ноут с линуксом

        По личному опыту ставить линукс на ноут идея довольно неудачная, ресурс батареи уменьшался в 1.5-2 раза в сравнении с виндой. Долго гуглил в свое время эту проблему, но толком так и не решил.

        С тех пор Linux ставлю только на ПК в режиме дуалбута.


        1. Geth
          14.08.2023 08:44
          +4

          От ноута зависит. На моем HP 445g8 примерно такое же время работы как и на Windows 10. Из настроек только в powertop все Tunables включил и в grub в параметры ядра acpi_osi от win10 прописал. Вот бы ещё оно в выключенном состоянии по 15% батареи в неделю не жрало, но это под всеми ОС происходит.

          Но таки да, необходимость подбирать железо под удобную мне ОС напрягает.


          1. t3n3t
            14.08.2023 08:44

            Вот бы ещё оно в выключенном состоянии по 15% батареи в неделю не жрало

            Скорее всего включена опция зарядки через USB-порты и в одном из них болтается, например, usb-коннектор от мышки. По крайней мере у меня так было.


            1. Geth
              14.08.2023 08:44

              Все USB charging и wake-on-lan`ы выключил в bios в первую очередь. В портах USB тоже ничего нет.


        1. YuriPanchul Автор
          14.08.2023 08:44

          Интересное наблюдение, но это наверное зависит от дистрибутива и ноута


      1. Coppermine
        14.08.2023 08:44
        +2

        Дядюшке Столлману в сети приписывали одно высказывание - про то, что софту достаточно быть свободным, но необязательно быть качественным. Не знаю, говорил ли он так на самом деле, но с некоторыми вещами, увы, оно именно так и происходит. Для обучения GNU/Linux и доступного свободного ПО более чем достаточно, но если речь идёт о ежедневной и профессиональной работе, то в определённых областях тут может быть больно. Фотографу, например, прямая дорога на Windows или Mac. И я даже не знаю, что хуже: выбирать между нестабильностью и тормознутостью Darktable и ужасным интерфейсом RawTherapee (GTK 3 и 4 это просто победа дизайнеров над здравым смыслом, на 13-дюймовом экране особенно радует), или как одна знакомая через другого знакомого в Дубае покупать лицензию на Lightroom, чтобы потом повторить этот квест через год, ибо подписка и рабство. Вариант дописать нужное самому интересен, но явно не для всех, т.к. минимум требует достаточной квалификации.


    1. Dimofey
      14.08.2023 08:44

      А кто не любит-то?

      Мне кажется те организации, где вместо винды ставят астру или другой спец. дистрибутив Линукс.


  1. erlyvideo
    14.08.2023 08:44
    +4

    В России не любят Линукс. Студенты и корпорации всячески отлынивают его использовать,

    это прям очень удивляет. Ну как так можно то, сколько ещё будут жрать кактус?


    1. DimoniXo
      14.08.2023 08:44
      +2

      Так они его и не жрут, а всячески отлынивают от его поедания. Написано же.


  1. vhlv
    14.08.2023 08:44

    Зачем большие по физическому размеру SSD?

    Есть же ещё m.2. У меня на таком ubuntu стоит


    1. YuriPanchul Автор
      14.08.2023 08:44
      +1

      А как они по цене по сравнению с SSD? В одном экземпляре - все равно, но если нужно купить на всех участников семинара, это небось кусается. Ведь SSD ниже $10 штука, даже вместе с адаптером ниже $15.


      1. vhlv
        14.08.2023 08:44

        Да, по цене они, конечно, проигрывают. Плюс еще бокс докупать надо. Но, как вариант, можно поискать на авито. Там цены примерно сопоставимы.


        1. YuriPanchul Автор
          14.08.2023 08:44

          Исследую вариант несомненно


          1. Mes
            14.08.2023 08:44

            Из минусов - греются. Нужен хороший кейс. У меня кучка и sata, и m.2 дисков ssd. Саташные еле теплые, m.2 все горячие. Производительности сата достаточно, ибо по usb саташный диск даст в пике 500-600 мб\с, а m.2 - я видел на usb3.1 typec-c под 990 мб\c, но при этом, повторюсь, сильнее греются


            1. bilayan
              14.08.2023 08:44
              +2

              На самом деле, если SSD то даже USB2.0 хватает для нормальной работы.. Скорость доступа к рандомным блокам решает в первую очередь)

              На стареньком ноуте проверял в том году (Acer ASPIRE 5741G), SSD через USB2.0 + WindowsToGo (Win10) + MSVS2019 гораздо лучше. чем Win10+MSVS2019 на hdd через sata3 ) И нет никакой существенной разницы уже если SSD воткнуть напрямую (ну загрузка может чуть быстрее выходит)

              м2 тут уже только из за формфактора можно было бы взять, любого SSD хватает)


      1. TheChief5055
        14.08.2023 08:44
        +3

        Примерно одинаково. И сами ssd, если m.2 sata, то одинаково по цене с 2.5" sata, и коробочки есть недорогие. Вот мой безотказный JEYI i9 GTR — usb3.1 gen2, rtl9120b, массивный фрезерованный люменевый корпус с термопрокладками, нормальная крышка под винты. Внутри довольно жарковатый терабайтник 970 EVO Plus, которому в таком корпусе вполне комфортно.


        1. YuriPanchul Автор
          14.08.2023 08:44

          А вы сравниваете только большие диски (типа терабайт)? Просто m.2 на сто с чем-то гигабайт не нашел (пока сильно не искал), а SSD на 120 GB можно найти меньше чем за $10 с адаптером за $3 с чем-то - то есть вместе $15. Даже если минимальная цена на SSD с адаптером $15, а на m.2 $30, то для скажем 200 учеников Школы Синтеза (столько уже записалось и столько может быть после естественного отсева) разница может быть $3000, что не то чтобы много, но нуждается в обосновании.


      1. Ozarenie
        14.08.2023 08:44
        +1

        В каком месте m2 перестал быть SSD ?
        Не нужно путать 2.5" SSD и M2 SSD.


  1. HemulGM
    14.08.2023 08:44
    +8

    WSL? Такая тема и не слова о WSL


    1. YuriPanchul Автор
      14.08.2023 08:44

      O!!! Только вчера отлаживали поведение bash-скрипта под WSL. WSL, в отличие от Cygwin и MinGW, в переменной OSTYPE пишет что он якобы честный Linux, после чего мой скрипт не находит директорию у установленного Intel FPGA Quartus, которая в Windows называется не так как в Linux:

      https://github.com/yuri-panchul/basics-graphics-music/blob/main/scripts/steps/00_setup_intel_fpga.source.bash

          if [ "$OSTYPE" = "linux-gnu" ]
          then
              quartus_bin_dir=bin
          elif  [ "$OSTYPE" = "cygwin"    ]  \
             || [ "$OSTYPE" = "msys"      ]
          then
              quartus_bin_dir=bin64

      Правда Quartus я как-нибудь обойду (скажем с помощью uname -r ). Но вот будет ли работать под WSL OpenLane?


      1. HemulGM
        14.08.2023 08:44
        +2

        Вроде должна быть переменная, которая позволяет определить, что это WSL. Можно от этого отталкиваться и соответственно указать корректный путь

        Что-то типа

        if [[ $(grep -i Microsoft /proc/version) ]]; then
            echo "Bash is running on WSL"
        fi


    1. Kanedias
      14.08.2023 08:44

      WSL это же Hyper-V виртуалка.


  1. vvvictor
    14.08.2023 08:44
    -1

    Спасибо.


  1. Galperin_Mark
    14.08.2023 08:44
    +2

    Пара слов в защиту Линукс: мы на нем к примеру сделали систему диспетчеризации SCADA.


  1. MountainGoat
    14.08.2023 08:44
    +4

    При использовании виртуалок и WSL для работы с железом часто возникает одна и та же проблема. Многие железки при перепрошивке или смене режима работы меняют USB ID - типа это другое устройство. И даже если оба варианта пропишешь в "автоматически прокидывать в виртуалку", всё равно между подключениями устройству успевает прилететь какой-то пакет от хоста, и оно начинает инициализацию с хостом. В результате в виртуалку устройство попадает в состоянии "враскоряку" и если драйвер не умеет его в этом состоянии сбросить и начать заново - всё разваливается.

    Нашёл это экспериментально. В момент перезагрузки смотрю логи хоста - а устройство там типа подключалось!


    1. dorne
      14.08.2023 08:44

      Просто в виртуалку надо пробрасывать не USB устройство, а PCI устройство USB хост-контроллера.


  1. gadzhikuliev
    14.08.2023 08:44

    Synopsys Design Compiler / IC Compiler и Cadence Genus / Innovus

    Система Altium Designer не является аналогом данных продуктов?


    1. vadimbudnyaev
      14.08.2023 08:44
      +1

      В Altium Designer не проектируют микросхемы


  1. dartraiden
    14.08.2023 08:44
    +6

    С Win11 совсем трэшак - оно хочет подписанных драйверов

    Как говорят в Linux-среде, с разморозкой, это обязательное требование для 64-разрядной Windows уже лет 15, как минимум, ещё с Windows 7, если не раньше.

    На своей машине можете подписать самоподписанным сертификатом. Если это драйвер режима пользователя, то никаких изменений в настройки Windows вносить не нужно. Если это ядерный драйвер, то придётся перевести Windows в тестовый режим, поскольку на этапе загрузки локальное хранилище сертификатов ещё не доступно.


    1. YuriPanchul Автор
      14.08.2023 08:44

      А, я вспомнил, штука с подписанными драйверами возникла не из-за Win11, а потому, что Intel в какую-то версию Quartus в 2021 или 2022 году вставил неподписанные драйверы или что-то такое. Но короче в ночь перед полетом в Бишкек в 2022 году я обнаружил, что на Win10 все работает, а на Win11 нет.


      1. vvmtutby
        14.08.2023 08:44

        Intel в какую-то версию Quartus в 2021 или 2022 году вставил неподписанные драйверы

        Т.е. всё разрешилось? И Windows реабилитирован?

        Т.к. достаточно взять ту версию ПО, где соблюдается элементарная дисциплина разработки?


        1. YuriPanchul Автор
          14.08.2023 08:44

          Чтобы найти эту версию, нужно было долго гуглить и искать патч на интеловском сайте. С линуксом гемороя было меньше. В любом случае, под Windows не идет OpenLane + с любой версией приходится обновлять драйвер USB Blaster-а. После этого бишкекского семинара я больше на локальные windows-компьютеры расчитывать боюсь.


  1. saipr
    14.08.2023 08:44
    -1

    В России не любят Линукс

    Это не совсем правда. Я с середины 80-х годов, ещё в Советском Союзе, предпочитаю Unix-системы, а с 90-х Linux.


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

    Своё путешествие по миру русских (наверное всё же российских) Линуксов я закончил тем, что у меня сначала стояла Mandriva, а теперь Mageia-8


    1. YuriPanchul Автор
      14.08.2023 08:44
      +2

      Ну знаете, лично я еще в 1985 году, когда ездил на трамвае в школу в Киеве, почитывал книжку "Инструментальная мобильная операционная система ИНМОС" (это был такой советский Unix). Отдельные случаи и узкие прослойки ничего не доказывают.


      1. saipr
        14.08.2023 08:44
        +1

        Был ещё советский Демос и МОС ЕС:
        image


        Отдельные случаи и узкие прослойки ничего не доказывают.

        Не совсем уловил насчет "не доказывают"


        1. YuriPanchul Автор
          14.08.2023 08:44
          +1

          Ну наличие тридцати программистов в кооперативе Демос в Москве 1990 года никак не доказывало, что все 300 миллионов советских людей предпочитало Unix вместо игры Digger под MS-DOS.


          1. saipr
            14.08.2023 08:44

            Из 300 миллионов советских людей в 1990 году хорошо если десятки тысяч знали про MS-DOS и Unix. Всё только начиналось.


  1. defecator
    14.08.2023 08:44
    +1

    какие же уставшие от жизни лица (((((


    1. YuriPanchul Автор
      14.08.2023 08:44
      +2

      Там есть и другие фотки


  1. Cheater
    14.08.2023 08:44

    А в чём проблема просто установить Linux на рабочую машину? Первое место у этого варианта в голосовалке, с ~40% голосов на данный момент, как бы намекает...

    Российские линуксы кстати использовать для ECAD систем достаточно странно. За других не скажу, но продукты Cadence официально поддерживают ограниченный набор дистрибутивов (RHEL и CentOS определённых версий), российских дистров среди них очевидно нет.


    1. YuriPanchul Автор
      14.08.2023 08:44
      +1

      *** А в чём проблема просто установить Linux на рабочую машину? Первое место у этого варианта в голосовалке, с ~40% голосов на данный момент, как бы намекает... ***

      Большинство студентов и преподавателей не хотят. Переубедить трудно даже единицы, а речь идет о сотнях человек.

      *** Российские линуксы кстати использовать для ECAD систем достаточно странно ***

      Жирный плюс: локальный суппорт от Базальта, когда что-то не работает. RHEL в России поддерживать не будут.

      *** продукты Cadence официально поддерживают ограниченный набор дистрибутивов (RHEL и CentOS определённых версий), российских дистров среди них очевидно нет. ***

      Cadence на широких курсах сейчас все равно использовать в России нельзя. Но тулы для FPGA, открытые тулы для ASIC (Open Lane) и всякие Icarus-ы идут и на российских дистрибутивах (с нюансами - см. коммент про Astra Linux, RedOS и ROSA в посте).


      1. vvmtutby
        14.08.2023 08:44
        +2

        Я не совсем понимаю Ваши проблемы.

        Например, на какой странице УК написано, что что-либо применять нельзя?

        И не являются ли данные запреты прямым ( и наглым) нарушением прав человека? Т.к. сегрегируют людей по странновому ( фактически расовому) признаку?


        1. Devakant
          14.08.2023 08:44

          В текущих реалиях нужна сертификация от ФСБ. Притом каждую новую версию сертифицируют заново.
          Поэтому во всех около государственных конторах сейчас дополнительный геморрой.


        1. alperovich
          14.08.2023 08:44
          +1

          Одна лицензия на Cadence Xcelium стоит десятки тысяч долларов в год. Образовательные инициативы недоступны, т.к. представительство Cadence в России закрылось больше года назад, теперь тулы и саппорт напрямую не достать, только через третьи страны (или по ещё действующим контрактам).

          Можно пиратить, но это статья УК. Подставляться под это довольно тупо.


        1. YuriPanchul Автор
          14.08.2023 08:44
          +4

          У меня нет белого пальто и я не порицаю, если кто-нибудь, сидя у себя дома, будет пользовать Cadence и Synopsys с ломаными лицензиями на миллион долларов. Если суммировать Synopsys Design Compiler, IC Compiler, PrimeTime PX, VCS + Cadence Genus, Innovus, Xcelium и Joules - то столько и получится.

          Но одно дело - сидя у себя дома, а другое дело открыто рекламировать курсы на 300 человек в 14 городах, основанные на поломанных лицензиях. Я не знаю какие могут быть последствия для связаных с этим российских вузов и компаний.

          Но даже если последствий не будет - зачем? Основы маршрута RTL2GDSII, симуляции на уровне регистровых передач, логического синтеза, статического анализа тайминга - все это можно выучить с помощью открытых тулов: Icarus Verilog, Open Lane и других. Совершенно легально, и это даже можно делать в партнерстве с международными вузами и компаниями.


  1. andreishe
    14.08.2023 08:44
    +1

    попробуйте загрузить Windows, пойдите в Settings и найдите там (Микрософт это спрятал, но через поиск находится) "Advanced Startup". Вы увидите кнопку "Restart now". Нажмите ее:

    Чтобы попасть в это меню достаточно держать shift когда вы выбираете «перезагрузить» в меню «пуск».


    1. YuriPanchul Автор
      14.08.2023 08:44

      О, попробую, спасибо


  1. aush99
    14.08.2023 08:44

    О! знакомые обои от Влада Герасимова.


  1. Rodik1989
    14.08.2023 08:44

    Почему мы выбрали именно Simply Linux от Базальта? Три причины:

    1) а какова цена поддержки?
    Лет 15 назад мой ВУЗ полюбил Debian, ибо дать блат 2-3 (в разное время) сообразительным студентам на посещение занятий и сессии (по факту как заочники ходили) - вот, собственно и всё необходимое. Норм костяк был сдан на 4й год как дипломная и многое работает до сих пор (региональный ВУЗ).
    2) а отключить secure boot и прочие ограничения UEFI?
    И, на сколько знаю, то полноценно Linux будет работать на "поддерживаемых" (certified) ноутбуках. Вопрос той же работы от батареи, специфических фишек от ОЕМ и т.п.
    3) на ПК тогда, да и вполне недавно ставилась Runtu. Чуть адаптированная Ubuntu. И особых проблем там не было. Репа официальная, PPA любое. Доки почти все подходят. Поддержка вменяемая для бесплатной и даже помощь во внедрении есть.
    --
    Собственно вопрос: а не "лучше ли" взять Ubuntu или тот же Mint и поддерживать своими силами несколько костылей для работы в РФ? Или с той же Runtu скооперироваться.
    Ученикам - опыт, преподавателям - опыт.
    Линукс уже неплохо внедряют по стране и брать хотя бы на практику к себе хотелось хотя бы после "песочницы" в родном учебном заведении.


    1. YuriPanchul Автор
      14.08.2023 08:44

      Я пробовал российскую копию Mint под названием Green Linux и SSD работал только на том компьютере, на котором была инсталляция.

      Что касается нероссийких Canonical / Ubuntu, то они российские курсы поддерживать не будут, а с EDA тулами, программаторами, докерами итд постоянно что-то нужно обходить, так что суппорт тут для курсов на сотни человек - это не роскошь, а жизненная необходимость.


      1. Rodik1989
        14.08.2023 08:44

        про курсы понял...

        а если что-то аки Kylin Linux делать? Аки Rusich? Чисто "дистр" Ubuntu под конкретные реалии, но бесплатный и за госсчёт, а поддержка - от учеников ВУЗа до выпускников и уже ООО саппорт опытных?

        Брать Астру и другие - слишком дорого и ограниченно (детям, в плане перспектив). Как бизнесу до 500 человек, так и школам с Вузами в Провинции (например, "Брянск").


  1. SuvorovStyle
    14.08.2023 08:44

    Классику почему не рассматривали?
    https://www.zalman.com/EN/Product/ProductDetail.do?productSeq=914


    1. YuriPanchul Автор
      14.08.2023 08:44

      У меня с 1980-х фобия возить с собой по самолетам двадцать HDD с двужущимися частями. Или вы про форму адаптера (коробочку)? А зачем? У SDD и так пластмассовый корпус есть.


      1. zartarn
        14.08.2023 08:44

        Это не простая коробочка, она с мозгами. На ней можно выбрать нужный образ и она прикинется приводом. А hdd там или ssd не важно. (правда первоначально это все же IODD)

        «Швейцарский нож»‎ инженера дата-центра: Zalman ZM-VE500 / Хабр (habr.com)


        1. YuriPanchul Автор
          14.08.2023 08:44
          +1

          Ну это наверное дороже чем SSD с адаптером (а мне это нужно для каждого участника). Плюс нужен один образ, не несколько.


        1. Iwanowsky
          14.08.2023 08:44

          Я подобную коробочку приобрел еще 9 лет назад за 1700р. — Zalman ZM-VE300. На нем у меня — большая куча дистрибутивов ОС (Виндовсы, Линуксы, и даже ДОС) и ЛайвСД; использую довольно часто.


      1. geher
        14.08.2023 08:44

        Наверное речь о том, что данная железка умеет симулировать CD-ROM из iso, на нее набросанных. Правда в конкретно Вашем случае не совсем понятно, как это использовать.

        Если как обычный внешний HDD, то можно взять коробочку покомпактнее и подешевле.

        Если для загрузки с live cd, то это нужно готовить специальный образ с интегрированными вашими программами или устанавливать их при каждой загрузке, причем на диск в ОЗУ (десятки гигабайт не установишь).

        Есть, правда, у того же simply вариант загрузки live с сохранением сеанса, но его я не пробовал. Если в этом режиме можно ставить новые программы на допрлнительный раздел на этом же или другом внешнем диске, то можно использовать. Если нет, то и толка особого никакого нет.


  1. mpa4b
    14.08.2023 08:44
    +3

    Меня вот что удивило, почему образ распространяется только по обращению, а не скажем в виде торрента (=магнет-ссылки)?


  1. vectorplus
    14.08.2023 08:44

    В Канаде Линукс вообще не знают, ну, кроме серверных админов и подобных ребят. Когда я говорю, что разбираюсь в *Никс, на меня смотрят, как на колдуна.


    1. YuriPanchul Автор
      14.08.2023 08:44
      +1

      Как в Канаде могут не знать Линукс, если в школах используеются хромбуки с Linux-based ChromeOS:


      1. vectorplus
        14.08.2023 08:44
        +1

        Taк Андроид тоже на Линуксе. Все пользователи смартфонов знают Линукс? Айфон скорее всего тоже на никсах.


        1. vikarti
          14.08.2023 08:44

          iOS от macOS отличается (кроме намного более серьезной залоченности) не особо сильно. Так что — mach микроядро, часть API по мотивам FreeBSD, свой GUI.
          Ядро собственно даже открыто https://github.com/apple-oss-distributions/xnu (на mac'ах даже можно собрать и загрузить свое и даже работать будет).
          Но вот даже разработчикам под iOS эти детали не особо важны.


        1. Rodik1989
          14.08.2023 08:44

          ChromeOS на дебиане. Тут уже всё явно) Можно оный на хромбуке юзать с "небольшими" ограничениями, просто "с коробки" (не разлочивая BIOS, отрубая TPM, переходя на developer ветку и т.п.).

          iOS - на игле Apple. Будь она хоть на языке Драконов и OS/2...

          Android... Буквально зависит от прошивки. ArchiDroid был больше Linux чем многие дистры)


  1. u007
    14.08.2023 08:44

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

    Я так пробовал аудиокниги записывать. Потом, когда вдруг обнулилась третья_глава.wav, запустил чек диск... Просмотрев отчёт по ошибкам, эксперимент свернул.


    1. YuriPanchul Автор
      14.08.2023 08:44

      У меня пока что сбоев с SSD не было. А у вас именно SSD или флашка? Или вы с SSD грузите? Какие подробности?


      1. u007
        14.08.2023 08:44
        +1

        SSD на 128 формата msata от Кингстона в китайской коробочке за 300р.На диске - Win7 и куча музыкального софта. Хорошие коробочки, кстати, у меня таких целая пачка под разные задачи.

        Воткнуто в ноутбук без хаба. Во время работы постоянно идёт чтение-запись. По лампочке на коробке и особенно по писку дросселя видно, что при активности других usb-устройств, в частности, звуковой карты, или при шевелении провода ровный ритм передачи данных нарушается. Работая за ноутом, невозможно обеспечить покой кабелю. Микро пропуски на записи тоже встречались, потери не более доли секунды. Но это может быть особенностью работы Cubase, который рассчитан на студийное железо, а не на таких домашних экспериментаторов.


        1. NutsUnderline
          14.08.2023 08:44
          +1

          раздолбанный USB порт прекрасно может быть и на студийной аппаратуре


        1. vassabi
          14.08.2023 08:44

          Воткнуто в ноутбук без хаба. 

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


          1. u007
            14.08.2023 08:44

            А сам хаб не тудым-сюдым'ается?)


  1. aabzel
    14.08.2023 08:44

    Есть ли tool(a) которая по Verilog коду может синтезировать логическую RTL схему в виде рисунка на языке Graphviz?


    *.v ->SomeUtility.exe ->*.gv


    1. YuriPanchul Автор
      14.08.2023 08:44
      +1

      Логический синтез - это и есть превращение кода в граф из логических элементов. Формат (Graphviz или нет) - это уже детали. Если этого нет, это наверняка не очень трудно написать. Взять за основу RTL viewer какой-нибудь, с Yosys или Verific как фронт-енд.


      1. aabzel
        14.08.2023 08:44

        Какой формат файлов выдает логический синтезатор?


        1. YuriPanchul Автор
          14.08.2023 08:44

          Насчет Quartus и Vivado я уже не помню, а вот Synopsys Design Compiler и Open Lane - этим тулам можно сказать вывести граф прямо в виде модулей примитивов на верилоге. Его можно отпарсить и построить картинку.


  1. Rezzonans
    14.08.2023 08:44

    Я вот только одного не пойму, почему нельзя один раз создать виртуальную машину (предположим в virtualbox) поместив ее жесткий диск на usb ssd, и подключать его на разных компах. Да, на компах придется устанавливать virtualbox, что бы работать с этой виртуалкой, но это всяко надёжнее, проще и быстрее описанных в статье плясок с биосом и usb хабами. Как по мне, автор просто усложняет жизнь себе и, соответственно, студентам.