В загрузчик U-boot, применяемый преимущественно на встраиваемых устройствах, интегрирован TCP-стек и реализована возможность удалённой загрузки с доставкой загрузочных образов, используя протокол HTTP. Ранее для удалённой загрузки по сети могли использоваться только протоколы на базе UDP, такие как TFTP и NFS. Предполагается, что поддержка загрузки по HTTP существенно упростит разработку встраиваемых систем, так как HTTP-серверы более распространены и привычны разработчикам...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=58554
Переименовать из μ-boot в M-boot не хотят?
Нормально конечно смотрю у тебя все со зрением
> из μ-boot в M-bootСкорее, в Bakemono-boot тогда.
> Переименовать из μ-boot в M-boot не хотят?Вообзе-то он именно u-boot, изначально в честь подводных лодок, которые тоже не видно так сразу.
Причем это на немецкое слово аллюзия
Наши славные, героические submarines. Их коварные и преступные u-boots.
А подводная лодка на лого проекта вообще никаких мыслей не наводит о связи с названием?
Понятие "игра слов" небе не очень знакомо, видимо.
> Понятие "игра слов" небе не очень знакомо, видимо.И ребе, и небе, наверное, не очень. А кто это, кстати?
>Предполагается, что поддержка загрузки по HTTP существенно упростит разработку встраиваемых систем, так как HTTP-серверы более распространены и привычны разработчикам.В чём проблема поднять tftp?
Лично моё мнение - в загрузчик HTTP добавили потому, что он обычно при перепрошивке не переписывается, и поэтому зонды в нём будут жить дольше. Соответственно зондопихателям будет готовая инфраструктура. Можно будет при каждой загрузке на свой HTTP-сервер в инете телеметрию слать, а не UDP-сервер подымать.
> при каждой загрузке на свой HTTP-сервер ...Вот это точно, других адекватных причин - нету.
> в загрузчик HTTP добавили потому,
> что он обычно при перепрошивке не переписываетсяА там разве не руками указывается хттп-адрес источника системы?
В обычных же биосах руками указываешь источник загрузки (винчестер, cd, usb и т.п.)
В этом u-boot хттп-адрес наверно ж тоже пишется своими руками, а не кем-то неизвестным?
Чтобы сразу Chromium 365 OS грузить
Azure Thread X Electron Cloud For Your Security
Ну азуровскся ртос, ранее тред-икс, штука очень неплохая. Как минимум, лучше фри-ртоси
А чем, кстати?
> А чем, кстати?Как минимум, сертификацией по умолчанию для всех стм-овских мк и процов
Вдобавок тем, что, от события до исполнения прерывания проходит, вроде бы, не более 400 тактов, т.е уже ни в какое сравнение со фриртос'ью, у которой иные прерывания могут идти неожиданно долго. Есть, конечно, сейфртос, которая предназначена для чего-то реально серьёзного, но она стоит денег и, помнится, не распространяется в исходниках.
Тогда как азуровская ртось ака тред-икс - изначально идёт в т.ч для чего-то серьёзного и распространяется в исходниках. Но там в иной раз всё равно занести придётся примерно столько же сколько и владельцам фриртос-и, только исходники будут на руках, а не на компе правообладателей
Под него недостаточно смузи^W^W нет докера
т.е. с докером ты тоже не разобрался
> В чём проблема поднять tftp?нежным разработчикам непонятно и непривычно (честно-то говоря они вообще не знают, что это), а смузи не ждет, некогда разбираться.
Проще погуанокодить в загрузчик дырявую и кривую реализацию http.
С каких это пор "нежные" лезут в загрузчик и ядро?
Говорят тебе - нет уже других. Про пиццу - это, если что, была нихрена не шутка.
1) Дохнет при нагрузке на сеть.
2) Никакой безопасности (https вот это всё).
Погодите, в рамках топика вы в u-boot хотите реализацию SSL добавлять?? А сертификаты где хранить? А обновлять как??? Устареют и не будет ваш https ничего качать...
> Погодите, в рамках топика вы в u-boot
> хотите реализацию SSL добавлять??
> А сертификаты где хранить?
> А обновлять как???
> Устареют и не будет ваш https ничего качать...Значит надо хттп внутри впн через свой впн-сервер.
Ну только тогда в этот u-boot надо будет добавлять впн-клиент.
Ну и дальше уже нормально: указать адрес впн-сервера, логин да пароль к нему - эти параметры сами не устареют.
Зачем? Просто юзайте его фичи секурбута, заколотите свой ключ в доверяемые в uboot и чекайте образ как обычно. Злыдни будут видеть что качается но подменить это не смогут. По той же причине по которой нельзя подменить это в флехе или на диске.Uboot сто лет это все умеет, включили секурбут в настройках да прописали свои ключи. И будете как нормальные люди, сам себе OEM, между прочим.
Ни в чём, но ещё лучше его не поднимать.
В том, что TFTP тормозит как сучка.
Не без этого, но это решается реализацией RFC 7440 - всяко проще ее поддержку на сервер добавить (или перейти на r-tftpd), чем TCP-стэк в u-boot?
Tftp шифровать не сможет. А с http следующий шаг https.
А оно на раст написано?
U-boot не вдруг вот щаз появился.
Скачивать xml файл по https, проверять подпись, парсить его. В файле указаны зеркала, с которых можно скачивать файлы.
Вот действительно, ну чем TFTP не угодил? Веб-макаки необучаемые, ...
А чем HTTP не угодил?
Тут, скорее, проблема в реализации TCP. Громозкость его кода, по сравнению с UDP для маленького загрузчика.
> Тут, скорее, проблема в реализации TCP. Громозкость его кода, по сравнению с
> UDP для маленького загрузчика.Маленький такой загрузчик - с встроенным шелом, чтением кучи ФС вплоть до кажись уже даже btrfs и zfs и прочие мелочи :)
Вообще он уже давно почти как GRUB, только для ARMов и теперь RISCV наверное. Справедливости ради - если вам все это не надо, ну оно и отключается в билдсистеме, тогда маленький будет.
Кстати если вам кажется что вы видели все - А ВОТ ХРЕН. Некто pepe2k между прочим в вариант для роутеров загнал не только TCP но и вообще - HTTP WEB SERVER. Это чтобы закирпичив роутер можно было прошивку через примитивную но все ж вебморду влить без совсем уж дикой экзотики. Кстати все это в 64 кило уместилось. Правда дико сжатое LZMA, конечно.
В BREED тожеНу, и как пользователь, я скажу, что это очень удобно, когда не надо пердолиться с каким-то софтом, а хватает браузера.
> В BREED тожеЭто вообще что? На вид какой-то сыкотный китаезный варез без сорца, ктулху упаси меня такое в мои роутеры заливать.
> Ну, и как пользователь, я скажу, что это очень удобно, когда не
> надо пердолиться с каким-то софтом, а хватает браузера.Ну как бы для роутера если мы его шили через веб и это зафэйлилось, логично что удобнее всего повторить попытку через именно веб было бы. А сетапить кастом - все же дополнительная возня уже.
Как же вы достали, чемнеугождательством. Че теперь, не писать ничего? Было им интересно - сделали, тебе неинтересно - у тебя tftp никто не забирает, не волнуйся.
Совершенно согласен.
Хорошая новость - есть поддержка. Не надо поддержки - отключи во флагах и иди дальше, но неееееет, как не выше*нуться своими познаниями тут рядом с такими же, ведь завтра весь день в школе/универе молчать и слушать насмешки над собой.
> и привычны разработчикамАнтифраза последних лет
Других разработчиков у меня для вас, последние леты - нет.Все либо пиццей торгуют, либо сдохли.
Для этого нужно быть хотя бы админом локалхоста, а с этим у молодых разработчиков напряженка
Ждем arm ноутбуки, которые будут при загрузке безальтернативно подтягивать в RAMFS "свежую" версию ОС по HTTP авторизуясь через серийник зашитый в чип. А данные и приложухи? А все в облоках! Ты только платить не забывай. Слоты SATA и M2 тоже уберут, для экономии. И за подачу питание на USB будет отвечать драйвер в системе.
зогчем ты наши планы раскрываешьмиморептилоид
Да ты походу в Apple работаешь.
Ждëм U-boot на Electron. Прогрев пошëл!
> Ждëм U-boot на Electron. Прогрев пошëл!И назовем его разумеется E-boot :)). Примерно это боты с ним и будут делать, как тут и предсказывают.
>> Ждëм U-boot на Electron. Прогрев пошëл!
> И назовем его разумеется E-boot :)). Примерно это боты с ним и
> будут делать, как тут и предсказывают.У нас уже есть идея и название. Осталось только написать эту программу и совместить с каким-нибудь Alpine Linux
в это все дело - опеннет-иксперты дальше слов ничего не могут
> в это все дело - опеннет-иксперты дальше слов ничего не могутТ.е. чтобы не разрабатывать, не нужно читать opennet?
Это чтобы ботам было легче кофеваркам перепрошивать?
Новое непаханое поле для уязвимостей. Безопасники без работы не останутся, создавая новые дыры и их же латая.
И каким образом это менее безопасно, чем TFTP, которому сто лет в обед?
Отличная новость, поддерживаю.
Все это не лишено MITM, как проверить подлинность безопасной загрузки?
Ну вообще это для инфраструктур с изолированной сетью загрузки, так-то, где MITM исключён (от инсайда ясен фиг не страхует, но от инсайда тебя вообще ничего не застрахует). За пределами таковых можно поверх IPSec гонять.
> Ну вообще это для инфраструктур
> с изолированной сетью загрузки,
> так-то, где MITM исключёнВо-во. В своей сети запускаем веб-сервер какой попало (хоть через netcat руками написанный, лишь бы файлы нужные отдал) и станции загружают себе нужные системы с этого веб-сервера. А народ-то настрадался с безопасностями этими тут. :-)
Пожнимаешь на роутере vpn до своего сервера и скачиваешь с него файл используя vpn сеть.
> Все это не лишено MITM, как проверить подлинность безопасной загрузки?Секурбут включить, какая ему разница - с флешки файло или с http? Подписи проверит что так что эдак, чей ключ в загрузчик вколочен тот и system owner.
Не нужная хрень для arm мусора, которую чтобы обуздать нужно быть сверхразумом либо алкашем. Пока не будет нормального uefi и стандартизации всех загрузочных этапов и избавления костылей в виде dtb - не видать арму десктопа. Это только попреетарные макбуки и прочее от аппле может себе позволить существовать. Для линуксов нужен нормальный "биос". Зачем? Затем чтобы материнская плата не сгорала из-за того что мамкин кулхацкер в ubuntu gaming edition увеличил напряжения везде где можно в конфигурации драйверов этого арм барахла.
У сообщения 3.35 (находящегося внутри ветви, начинаемой сообщением 1.17) не нашёл кнопку ответа, поэтому пишу ответ отдельно.> Громозкость его кода, по сравнению с UDP для маленького загрузчика
А зачем нынче пишут маленькие загрузчики?
Ну раньше (лет 40 назад, когда 640 кб должно было хватать всем) понятно - микросхема занимает многие квадратные сантиметры площади, а памяти в ней - кот наплакал. Но нынче-то на паре квадратных сантиметров умещаются многие десятки гигабайт памяти! Да туда теперь можно давно десятки операционных систем закатывать, а не только маленького загрузчика. Не так ли? :-)
> А зачем нынче пишут маленькие загрузчики?1) Иногда у SoC бывают технические лимиты - скажем до инициализации основной DRAM (которую так то загрузчик делает) вот вам немного накристального SRAM и крутитесь там как хотите. Много его делать дорого (по площади) кристала, так что вот вам.
2) Флешки стоят денег. И чем больше флешка тем больше денег она стоит. Можешь конечно на QLC загрузчик раскладывать но когда он через год утечет, ты получишь чудный кирпич.
3) При этом всем обычно используются минимальные реализации драйверов, протоколов, фич и проч, еще не инициализировано нифига чтобы развернуться во всю. Чтение жирного загрузчика без продвинутых фич стоража может занять измеримое время. А подымать всякие там навороченые DMA, многоядерность, детект продвинутых режимов и расширений "именно этой карточки памяти/флеша/стораза" и чего там еще ... если вы и правжа ЭТО хотели, возьмите Linux и делайте kexex(), получите вот такой вот загрузчик. Но пока он сам запустится - совсем не факт что будет радость с того что он файло потом быстрее читать сможет, задетектив продвинутые опции и запустив все ядра с DMA и прочими наворотами. Это скорее имеет смысл если хочется с продвинутой ФС загрузиться, или там что еще. Ну там RAID собрать до начала загрузки, или файл по SMB вообще утянуть.> понятно - микросхема занимает многие квадратные сантиметры площади,
Да не делали их такими никогда - чем больше площадь тем больше шансов что это дефект кристалла накроет. И вот вы гоняли кучу процессов на вафле, на нее влезло 2 чипа, 1 ушел в утиль. А может и оба. Круто?! Выход чипов начинает стремиться к нолю, ценник чипа - к бесконечности
> а памяти в ней - кот наплакал. Но нынче-то на паре квадратных сантиметров умещаются
> многие десятки гигабайт памяти!Нехило еще поинтересоваться что требуется сделать до того как эти гигазы DRAM на шине появятся. И вот это вот кто-то должен сделать, кстати. Для boot ROM SOC это слоишком много - а учитывая что паять в пару ему могут абы что, это еще и апдейтабельно должно быть, чтобы с воооон теми чипами тоже могло работать.
И тут оказывается что сразу-доступный SRAM на кристалле SoC площадь жрет очень даже. Поэтому его много ставить - да ща. А если совсем не повезет, это кусок кэша процессора окажется, будете потом еще изучать как до того как из загрузчика уйти его обратно кэшом сделать.
> Да туда теперь можно давно десятки операционных
> систем закатывать, а не только маленького загрузчика. Не так ли? :-)Вот когда вы это попробуете - узнаете много нового. Например что у uboot есть странные штуки, типа мини-uboot (SPL) а иногда и TPL (Secondary и Tertiary loaders). Это на случай если вот как раз полный uboot в вон те constraints не влез... у некоторых начальный этап загрузки очень жесткие ограничения подразумевает. Скажем 1я стадия не более десятка кило весом - потому что SRAM на кристалле - ну вот столько отсыпали.