dtb-parse: Flattened Device Tree (DTB) Parsing

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


[Skip to Readme]


Versions 1.0.0
Change log None available
Dependencies base (>=4.13.0 && <4.15), binary (>=0.8.7 && <0.9), bytestring (>=0.10.10 && <0.11), containers (>=0.6.2 && <0.7), either (>= && <5.1), megaparsec (>=9.0 && <9.1), text (>=1.2.3 && <1.3) [details]
License LGPL-3.0-only
Copyright Copyright (c) 2020 Julian Stecklina
Author Julian Stecklina
Maintainer js@alien8.de
Category Data
Home page https://github.com/blitz/dtb-parse#readme
Source repo head: git clone https://github.com/blitz/dtb-parse
Uploaded by JulianStecklina at 2020-12-13T18:57:55Z



Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for dtb-parse-1.0.0

[back to package description]


Hackage version Stackage version Build Status

The dtb-parse package provides Data.Dtb, a module to parse flattened device trees (DTB). These files are usually used to describe the hardware on embedded platforms.

dtb-parse is a pure Haskell implementation of DTB parsing. It uses no code from libfdt.

Building the Library

The most convenient way to build the library is using Stack:

% stack build
% stack test


To parse a device tree and dump it to the console, you can do the following:

import qualified Data.ByteString as B
import           Data.Dtb

main = do
    dtbData <- B.readFile "some.dtb"
    putStrLn $ show $ parseDtb dtbData