1# Rust ZBI lib 2 3Rust version of [C library](src/firmware/lib/zbi) to work with ZBI format. 4 5See Rust documentation for `zbi` for library details. 6 7# Notes 8 9Currently [`sdk/lib/zbi-format`](sdk/lib/zbi-format) is not ready to provide Rust bindings from FIDL. 10So we are using `buildgen` generated version from C headers: [`src/firmware/lib/zbi-rs/src/zbi_format.rs`](src/firmware/lib/zbi-rs/src/zbi_format.rs) 11 12Another alternative is manually created version: [`src/sys/lib/fuchsia-zbi/abi`](src/sys/lib/fuchsia-zbi/abi). 13 14# Dev flow 15 16This is temporary approach until butter way is found (http://b/297795783). 17 18Source of truth is considered Fuchsia version. To make any changes start with submitting it to Fuchsia tree, then copying to AOSP. 19 20Current version is copied for following revision: [commit](https://cs.opensource.google/fuchsia/fuchsia/+/74345229e91646568d27c481e24ae53efb280dca) 21 22To get just `zbi-rs` from Fuchsia following commands can be used: 23``` 24git clone -n --depth=1 --filter=tree:0 sso://fuchsia/fuchsia 25cd fuchsia/ 26git sparse-checkout set --no-clone src/firmware/lib/zbi-rs 27git checkout 74345229e91646568d27c481e24ae53efb280dca 28``` 29 30Changing Licence in source files is required at the moment. 31