#devicetree — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #devicetree, aggregated by home.social.
-
Linux 6.19 Release – Main changes, Arm, RISC-V, and MIPS architectures
-
Stálá témata:
- Budou dostupné telefony, na kterých si budete moci zkusit rozběhnout Linux
- Rozběhnutí u-boot a EFI, testování a integrace na telefonech s Snapdragonem #sdm845.
- patches review & mainlining
- Balíčkování užitečných věcí pro mobilní distribuce
- Hackování na jádře, psaní #devicetree2/2
-
So I'm now told I'm holding it wrong, and I need to boot with UEFI. Which is *>2000* ages of specification, plus a load more reading on how to configure UEFI. And UEFI isn't even mentioned in the qemu docs for the machine I'm emulating (risc-v virt), so I don't even know if it's available.
How the hell is a human being meant to be able to understand all this stuff to actually use the hardware?
-
I've been trying to write a very basic OS. The goal: to make the thing understandable to one person. But modern hardware and systems... *sigh*.
I'm booting with U-Boot, because I couldn't get qemu to boot the kernel directly. Now I need some information from the device tree, but booting with u-boot's `bootelf` doesn't pass the DT to the kernel it's starting.
1/2
-
Строим свой остров: как создать минимальный Linux для Raspberry Pi
Ещё три года назад меня просили рассказать, как собрать минимальный Linux для Raspberry Pi, — и сейчас я выполняю эту просьбу. Несмотря на то, что первоначальной целью Raspberry Pi было создание дешёвого устройства для обучения базовым навыкам программирования, информации о том как, создать минимальный Linux для Raspberry Pi в интернете немного. Я хочу восполнить этот пробел для желающих начать погружение в embedded-разработку. Linux для встраиваемых систем, включая Raspberry Pi, и Linux для PC имеют ряд различий. Различия касаются используемых загрузчиков, платформо-зависимого кода ядра, файловых систем и прочего. Для встраиваемых систем большое значение имеет Board Support Package (BSP), который обычно сопровождает различные системы на кристалле (System on Chip — SoC) или одноплатные компьютеры (Single Board Computer — SBC). Чтобы сделать статью интереснее и полезнее, я рассмотрю создание Linux для Raspberry Pi 3 и для Raspberry Pi 4 и укажу на различие этих одноплатных компьютеров в контексте загрузки и сборки ядра Linux. Также мы соберём и запустим downstream и upstream Linux-ядра для Raspberry Pi. Под Raspberry Pi 3 и Raspberry Pi 4 подразумеваются модели Raspberry Pi 3 Model B и Raspberry Pi 4 Model B соответственно. А обе модели называются в статье Raspberry Pi. Как и в моей прошлой статье по сборке Linux для PC собирать мы будем без использования Buildroot или Yocto Project , только сделаем его более практичным, так как он будет поддерживать работу с SD-картой. Такие сборки минимального Linux без Buildroot и Yocto Project мне чем-то напоминают высадку на необитаемый остров, где вы вынуждены минимальным набором инструментов благоустраивать свою жизнь. Да, вашей жизни ничего не угрожает, но определённая закалка в виде полученных базовых знаний остаётся. Поэтому системе Linux, создаваемой в статье, я дал кодовое название Robinson Linux. Я надеюсь, что после прочтения статьи вам будет гораздо проще собрать Linux для другого одноплатного компьютера, например, Orange Pi. Кому интересно погрузиться в embedded-разработку, добро пожаловать под кат.
https://habr.com/ru/companies/ruvds/articles/971084/
#linux #embedded_linux #raspberry_pi #linux_kernel #crosscompilation #devicetree #bootloader #uart #arm #статьи_ruvds
-
Строим свой остров: как создать минимальный Linux для Raspberry Pi
Ещё три года назад меня просили рассказать, как собрать минимальный Linux для Raspberry Pi, — и сейчас я выполняю эту просьбу. Несмотря на то, что первоначальной целью Raspberry Pi было создание дешёвого устройства для обучения базовым навыкам программирования, информации о том как, создать минимальный Linux для Raspberry Pi в интернете немного. Я хочу восполнить этот пробел для желающих начать погружение в embedded-разработку. Linux для встраиваемых систем, включая Raspberry Pi, и Linux для PC имеют ряд различий. Различия касаются используемых загрузчиков, платформо-зависимого кода ядра, файловых систем и прочего. Для встраиваемых систем большое значение имеет Board Support Package (BSP), который обычно сопровождает различные системы на кристалле (System on Chip — SoC) или одноплатные компьютеры (Single Board Computer — SBC). Чтобы сделать статью интереснее и полезнее, я рассмотрю создание Linux для Raspberry Pi 3 и для Raspberry Pi 4 и укажу на различие этих одноплатных компьютеров в контексте загрузки и сборки ядра Linux. Также мы соберём и запустим downstream и upstream Linux-ядра для Raspberry Pi. Под Raspberry Pi 3 и Raspberry Pi 4 подразумеваются модели Raspberry Pi 3 Model B и Raspberry Pi 4 Model B соответственно. А обе модели называются в статье Raspberry Pi. Как и в моей прошлой статье по сборке Linux для PC собирать мы будем без использования Buildroot или Yocto Project , только сделаем его более практичным, так как он будет поддерживать работу с SD-картой. Такие сборки минимального Linux без Buildroot и Yocto Project мне чем-то напоминают высадку на необитаемый остров, где вы вынуждены минимальным набором инструментов благоустраивать свою жизнь. Да, вашей жизни ничего не угрожает, но определённая закалка в виде полученных базовых знаний остаётся. Поэтому системе Linux, создаваемой в статье, я дал кодовое название Robinson Linux. Я надеюсь, что после прочтения статьи вам будет гораздо проще собрать Linux для другого одноплатного компьютера, например, Orange Pi. Кому интересно погрузиться в embedded-разработку, добро пожаловать под кат.
https://habr.com/ru/companies/ruvds/articles/971084/
#linux #embedded_linux #raspberry_pi #linux_kernel #crosscompilation #devicetree #bootloader #uart #arm #статьи_ruvds
-
Строим свой остров: как создать минимальный Linux для Raspberry Pi
Ещё три года назад меня просили рассказать, как собрать минимальный Linux для Raspberry Pi, — и сейчас я выполняю эту просьбу. Несмотря на то, что первоначальной целью Raspberry Pi было создание дешёвого устройства для обучения базовым навыкам программирования, информации о том как, создать минимальный Linux для Raspberry Pi в интернете немного. Я хочу восполнить этот пробел для желающих начать погружение в embedded-разработку. Linux для встраиваемых систем, включая Raspberry Pi, и Linux для PC имеют ряд различий. Различия касаются используемых загрузчиков, платформо-зависимого кода ядра, файловых систем и прочего. Для встраиваемых систем большое значение имеет Board Support Package (BSP), который обычно сопровождает различные системы на кристалле (System on Chip — SoC) или одноплатные компьютеры (Single Board Computer — SBC). Чтобы сделать статью интереснее и полезнее, я рассмотрю создание Linux для Raspberry Pi 3 и для Raspberry Pi 4 и укажу на различие этих одноплатных компьютеров в контексте загрузки и сборки ядра Linux. Также мы соберём и запустим downstream и upstream Linux-ядра для Raspberry Pi. Под Raspberry Pi 3 и Raspberry Pi 4 подразумеваются модели Raspberry Pi 3 Model B и Raspberry Pi 4 Model B соответственно. А обе модели называются в статье Raspberry Pi. Как и в моей прошлой статье по сборке Linux для PC собирать мы будем без использования Buildroot или Yocto Project , только сделаем его более практичным, так как он будет поддерживать работу с SD-картой. Такие сборки минимального Linux без Buildroot и Yocto Project мне чем-то напоминают высадку на необитаемый остров, где вы вынуждены минимальным набором инструментов благоустраивать свою жизнь. Да, вашей жизни ничего не угрожает, но определённая закалка в виде полученных базовых знаний остаётся. Поэтому системе Linux, создаваемой в статье, я дал кодовое название Robinson Linux. Я надеюсь, что после прочтения статьи вам будет гораздо проще собрать Linux для другого одноплатного компьютера, например, Orange Pi. Кому интересно погрузиться в embedded-разработку, добро пожаловать под кат.
https://habr.com/ru/companies/ruvds/articles/971084/
#linux #embedded_linux #raspberry_pi #linux_kernel #crosscompilation #devicetree #bootloader #uart #arm #статьи_ruvds
-
Строим свой остров: как создать минимальный Linux для Raspberry Pi
Ещё три года назад меня просили рассказать, как собрать минимальный Linux для Raspberry Pi, — и сейчас я выполняю эту просьбу. Несмотря на то, что первоначальной целью Raspberry Pi было создание дешёвого устройства для обучения базовым навыкам программирования, информации о том как, создать минимальный Linux для Raspberry Pi в интернете немного. Я хочу восполнить этот пробел для желающих начать погружение в embedded-разработку. Linux для встраиваемых систем, включая Raspberry Pi, и Linux для PC имеют ряд различий. Различия касаются используемых загрузчиков, платформо-зависимого кода ядра, файловых систем и прочего. Для встраиваемых систем большое значение имеет Board Support Package (BSP), который обычно сопровождает различные системы на кристалле (System on Chip — SoC) или одноплатные компьютеры (Single Board Computer — SBC). Чтобы сделать статью интереснее и полезнее, я рассмотрю создание Linux для Raspberry Pi 3 и для Raspberry Pi 4 и укажу на различие этих одноплатных компьютеров в контексте загрузки и сборки ядра Linux. Также мы соберём и запустим downstream и upstream Linux-ядра для Raspberry Pi. Под Raspberry Pi 3 и Raspberry Pi 4 подразумеваются модели Raspberry Pi 3 Model B и Raspberry Pi 4 Model B соответственно. А обе модели называются в статье Raspberry Pi. Как и в моей прошлой статье по сборке Linux для PC собирать мы будем без использования Buildroot или Yocto Project , только сделаем его более практичным, так как он будет поддерживать работу с SD-картой. Такие сборки минимального Linux без Buildroot и Yocto Project мне чем-то напоминают высадку на необитаемый остров, где вы вынуждены минимальным набором инструментов благоустраивать свою жизнь. Да, вашей жизни ничего не угрожает, но определённая закалка в виде полученных базовых знаний остаётся. Поэтому системе Linux, создаваемой в статье, я дал кодовое название Robinson Linux. Я надеюсь, что после прочтения статьи вам будет гораздо проще собрать Linux для другого одноплатного компьютера, например, Orange Pi. Кому интересно погрузиться в embedded-разработку, добро пожаловать под кат.
https://habr.com/ru/companies/ruvds/articles/971084/
#linux #embedded_linux #raspberry_pi #linux_kernel #crosscompilation #devicetree #bootloader #uart #arm #статьи_ruvds
-
Linux 6.18 release – Main changes, Arm, RISC-V, and MIPS architectures
-
Linux 6.18 release – Main changes, Arm, RISC-V, and MIPS architectures
-
Linux 6.18 release – Main changes, Arm, RISC-V, and MIPS architectures
-
Linux 6.18 release – Main changes, Arm, RISC-V, and MIPS architectures
-
Linux 6.18 release – Main changes, Arm, RISC-V, and MIPS architectures
-
📬 Höchste Sicherheit, höchster Verdacht, der stille Krieg um GrapheneOS
#Mobilfunk #Smartphones #Softwareentwicklung #Cellebrite #DeviceTree #DNSHärtung #EncroChat #GrapheneOS #Pixel10 https://sc.tarnkappe.info/3047ad -
6) Interfaces are now identified by a dedicated `identify` setting. While it was already possible to identify interfaces unambiguously by their permanent MAC or bus address, it is now also possible to use their distributed switch architecture (DSA) attributes or path in the firmware devicetree! https://ifstate.net/2.0/examples/dsa/
IfState 2.x is expected to be shipped with Alpine Linux 3.23 and NixOS 25.11. 💪
4/4
-
proposing something kinda cursed over on the devicetree-schema repo to let us fix devicetree loading on dev boards and laptops that boot with EFI
-
Coming from BIOS/UEFI systems where it's generally relatively straightforward to boot a generic kernel into a desktop nowadays, #ARM #DeviceTree systems really are a mess...
-
Das einzig gute an der Zeit, die ich da investiert habe, ist die zusätzliche Unterstützung von #DeviceTree File Syntax Coloring aus orgmode Posts, was jetzt auch funktioniert!
Ok, bei 8 Zeilen dts File ist das jetzt noch nicht sooo wichtig, aber cool ist es schon 😂
#orgmode rules!
-
I thought that booting Seriously Bad Computers in ACPI mode is crippled compared to booting in DeviceTree mode.
NanoPC-T6 is otherwise. Same 6.11-rc2 kernel gives working system in ACPI mode and fail-to-boot one in DT.
DT = no USB, no PCIe while rootfs is on NVME cause it worked fine in ACPI mode.
And DT is from 6.11-rc2 kernel.
#SystemNotReady #ACPI #DeviceTree #SBC #RK3588 #FriendlyELEC #NanoPC-T6
-
How are you supposed to "attach" #uart based sensor driver to a serial port in #linux when NOT using a #devicetree ? #iio
-
"Operating system provided device-trees" by Heinrich Schuchardt
While it was not the initial goal, in practice, when booting Linux, device trees need to be coupled with a given kernel version.
This brings its own sets of challenge, because the bootloader needs to patch the device tree to provide information to the OS.
When using EFI, there is now the EFI_DT_FIXUP_PROTOCOL.
Outside of EFI, the flash-kernel tool helps picking the correct device tree depending on the board model.
The way forward would be to use Unified Kernel Images, which would contain all device trees for supported platform, with the efistub used to select the correct one.
-
I couldn't resist to have a quick look into the device tree file(s) in the kernel sources of Bianbu Linux:
see here: https://gitee.com/bianbu-linux/linux-6.6/blob/bl-v2.0.y/arch/riscv/boot/dts/spacemit/k1-x.dtsi
On a quick look (didn't check entry by entry) the 'riscv,isa-extensions' entries per cpu seems to match your table.
Anyway as I said before, I think this does not need to reflect the real capabilities of the SOC too.
#riscv #spacemit #spacemitk1 #spacemitx60 #devicetree #linux #bananapif3 #bpif3
-
Regarding this I found an article from RedHat:
see https://research.redhat.com/blog/article/risc-v-extensions-whats-available-and-how-to-find-it/
According to the article the DeviceTree can be used to get that information, but since that's just a configuration describing the hardware it could be incomplete too.
#riscv #spacemit #spacemitk1 #bananapif3 #bpif3 #linux #devicetree
-
Wrote some words about my experiences with FriendlyELEC NanoPC-T6 SBC.
https://marcin.juszkiewicz.com.pl/2024/08/09/i-had-some-fun-with-friendlyelec-nanopc-t6/
-
Hey fellow #embeddedlinux people! Have you ever wanted to generate a canonical representation of your devicetrees? Or diff two devicetrees? How about adding back labels to a decompiled devicetree? I've polished up and released a little tool I made for these things called DTCanon: https://github.com/mortie/dtcanon
This has been useful for me in some situations. Maybe it'll be useful for you too. It's #FOSS of course.
-
At Last, Chumby is Ready - It has been two years, but the slow and steady progress that [Doug Brown] has been... - https://hackaday.com/2024/08/05/at-last-chumby-is-ready/ #retrocomputing #linuxhacks #devicetree #chumby #linux
-
How do I make #deviceTree for an #Android device to custom ROM it.
-
Драйвер Ethernet для xv6
Xv6 - учебная ОС - рассказывает об идеях, что лежат в основе операционных систем. Научим xv6 работать в сети, познакомимся со стандартом виртуальных устройств VirtIO, деревом устройств DeviceTree, технологией Ethernet, сетевыми протоколами, возведем сетевой мост между виртуальными машинами.
https://habr.com/ru/articles/826500/
#xv6 #ethernet #virtio #devicetree #qemu #dhcp #ipv4 #ipv6 #arp #icmp
-
Things I would change in the #devicetree syntax if I was god emperor of the world (or at least the embedded Linux part of it):
* Make semicolons after closing curly braces optional (ideally they'd be prohibited but that'd be a breaking change and I'd be a benevolent god emperor)
* Make status = "enabled" a synonym to "ok" or "okay", to match status = "disabled"These two small changes would remove 99% of the mistakes I make when doing devicetree stuff
-
@DesRoin there are devices / sensors, for example the #sps30 PM sensors, that supports both #i2c and #uart connections. There are two drivers, one for i2c and one for uart. i2c can be attached in various ways.
But I have no idea how you are supposed to tell linux that behind this USB UART dongle, say /dev/ttyUSB0, is a sps30 that you should talk too with this driver. There is a very simple #devicetree example that does not help at all. -
So there is this thing that has bothered me since the dawn of time (ok, not that long, but at least since XML schemas): Why would you create a friendly, sensible URI for your schema like "http://devicetree.org/schemas/gpio/gpio-consumer.yaml#", that is practically begging to be clicked, only to have your web server return 404? (same result for https) I am perfectly aware that schema IDs and web links are not the same, but would it kill somebody if they worked like that, just for once? #devicetree
-
Драйвер Ethernet для xv6
Xv6 - учебная ОС - рассказывает об идеях, что лежат в основе операционных систем. Научим xv6 работать в сети, познакомимся со стандартом виртуальных устройств VirtIO, деревом устройств DeviceTree, технологией Ethernet, сетевыми протоколами, возведем сетевой мост между виртуальными машинами.
https://habr.com/ru/articles/826500/
#xv6 #ethernet #virtio #devicetree #qemu #dhcp #ipv4 #ipv6 #arp #icmp
-
Драйвер Ethernet для xv6
Xv6 - учебная ОС - рассказывает об идеях, что лежат в основе операционных систем. Научим xv6 работать в сети, познакомимся со стандартом виртуальных устройств VirtIO, деревом устройств DeviceTree, технологией Ethernet, сетевыми протоколами, возведем сетевой мост между виртуальными машинами.
https://habr.com/ru/articles/826500/
#xv6 #ethernet #virtio #devicetree #qemu #dhcp #ipv4 #ipv6 #arp #icmp
-
WiFi, PWM Backlight, and Graphics On Updated Chumby Kernel - For some, the Chumby was a peek at what could have been. That vision never died fo... - https://hackaday.com/2023/08/29/wifi-pwm-backlight-and-graphics-on-updated-chumby-kernel/ #linuxhacks #devicetree #chumby #linux
-
I couldn't resist to have a quick look into the device tree file(s) in the kernel sources of Bianbu Linux:
see here: https://gitee.com/bianbu-linux/linux-6.6/blob/bl-v2.0.y/arch/riscv/boot/dts/spacemit/k1-x.dtsi
On a quick look (didn't check entry by entry) the 'riscv,isa-extensions' entries per cpu seems to match your table.
Anyway as I said before, I think this does not need to reflect the real capabilities of the SOC too.
#riscv #spacemit #spacemitk1 #spacemitx60 #devicetree #linux #bananapif3 #bpif3
-
I couldn't resist to have a quick look into the device tree file(s) in the kernel sources of Bianbu Linux:
see here: https://gitee.com/bianbu-linux/linux-6.6/blob/bl-v2.0.y/arch/riscv/boot/dts/spacemit/k1-x.dtsi
On a quick look (didn't check entry by entry) the 'riscv,isa-extensions' entries per cpu seems to match your table.
Anyway as I said before, I think this does not need to reflect the real capabilities of the SOC too.
#riscv #spacemit #spacemitk1 #spacemitx60 #devicetree #linux #bananapif3 #bpif3
-
I couldn't resist to have a quick look into the device tree file(s) in the kernel sources of Bianbu Linux:
see here: https://gitee.com/bianbu-linux/linux-6.6/blob/bl-v2.0.y/arch/riscv/boot/dts/spacemit/k1-x.dtsi
On a quick look (didn't check entry by entry) the 'riscv,isa-extensions' entries per cpu seems to match your table.
Anyway as I said before, I think this does not need to reflect the real capabilities of the SOC too.
#riscv #spacemit #spacemitk1 #spacemitx60 #devicetree #linux #bananapif3 #bpif3
-
I couldn't resist to have a quick look into the device tree file(s) in the kernel sources of Bianbu Linux:
see here: https://gitee.com/bianbu-linux/linux-6.6/blob/bl-v2.0.y/arch/riscv/boot/dts/spacemit/k1-x.dtsi
On a quick look (didn't check entry by entry) the 'riscv,isa-extensions' entries per cpu seems to match your table.
Anyway as I said before, I think this does not need to reflect the real capabilities of the SOC too.
#riscv #spacemit #spacemitk1 #spacemitx60 #devicetree #linux #bananapif3 #bpif3
-
Regarding this I found an article from RedHat:
see https://research.redhat.com/blog/article/risc-v-extensions-whats-available-and-how-to-find-it/
According to the article the DeviceTree can be used to get that information, but since that's just a configuration describing the hardware it could be incomplete too.
#riscv #spacemit #spacemitk1 #bananapif3 #bpif3 #linux #devicetree
-
Regarding this I found an article from RedHat:
see https://research.redhat.com/blog/article/risc-v-extensions-whats-available-and-how-to-find-it/
According to the article the DeviceTree can be used to get that information, but since that's just a configuration describing the hardware it could be incomplete too.
#riscv #spacemit #spacemitk1 #bananapif3 #bpif3 #linux #devicetree
-
Regarding this I found an article from RedHat:
see https://research.redhat.com/blog/article/risc-v-extensions-whats-available-and-how-to-find-it/
According to the article the DeviceTree can be used to get that information, but since that's just a configuration describing the hardware it could be incomplete too.
#riscv #spacemit #spacemitk1 #bananapif3 #bpif3 #linux #devicetree
-
Regarding this I found an article from RedHat:
see https://research.redhat.com/blog/article/risc-v-extensions-whats-available-and-how-to-find-it/
According to the article the DeviceTree can be used to get that information, but since that's just a configuration describing the hardware it could be incomplete too.
#riscv #spacemit #spacemitk1 #bananapif3 #bpif3 #linux #devicetree
-
"Operating system provided device-trees" by Heinrich Schuchardt
While it was not the initial goal, in practice, when booting Linux, device trees need to be coupled with a given kernel version.
This brings its own sets of challenge, because the bootloader needs to patch the device tree to provide information to the OS.
When using EFI, there is now the EFI_DT_FIXUP_PROTOCOL.
Outside of EFI, the flash-kernel tool helps picking the correct device tree depending on the board model.
The way forward would be to use Unified Kernel Images, which would contain all device trees for supported platform, with the efistub used to select the correct one.
-
"Operating system provided device-trees" by Heinrich Schuchardt
While it was not the initial goal, in practice, when booting Linux, device trees need to be coupled with a given kernel version.
This brings its own sets of challenge, because the bootloader needs to patch the device tree to provide information to the OS.
When using EFI, there is now the EFI_DT_FIXUP_PROTOCOL.
Outside of EFI, the flash-kernel tool helps picking the correct device tree depending on the board model.
The way forward would be to use Unified Kernel Images, which would contain all device trees for supported platform, with the efistub used to select the correct one.
-
"Operating system provided device-trees" by Heinrich Schuchardt
While it was not the initial goal, in practice, when booting Linux, device trees need to be coupled with a given kernel version.
This brings its own sets of challenge, because the bootloader needs to patch the device tree to provide information to the OS.
When using EFI, there is now the EFI_DT_FIXUP_PROTOCOL.
Outside of EFI, the flash-kernel tool helps picking the correct device tree depending on the board model.
The way forward would be to use Unified Kernel Images, which would contain all device trees for supported platform, with the efistub used to select the correct one.
-
"Operating system provided device-trees" by Heinrich Schuchardt
While it was not the initial goal, in practice, when booting Linux, device trees need to be coupled with a given kernel version.
This brings its own sets of challenge, because the bootloader needs to patch the device tree to provide information to the OS.
When using EFI, there is now the EFI_DT_FIXUP_PROTOCOL.
Outside of EFI, the flash-kernel tool helps picking the correct device tree depending on the board model.
The way forward would be to use Unified Kernel Images, which would contain all device trees for supported platform, with the efistub used to select the correct one.
-
Wrote some words about my experiences with FriendlyELEC NanoPC-T6 SBC.
https://marcin.juszkiewicz.com.pl/2024/08/09/i-had-some-fun-with-friendlyelec-nanopc-t6/