02.10.2016 21:10, Giuseppe Lippolis:
Hi all,
I'm trying to port lede to the dwr-512.
I'm using the latest trunk downloaded with
git clone https://git.lede-project.org/source.git

The dwr-512 oem bootloader accept a firmware image that shall be processed
with a dlink tool called binboy and need the binary_kernel_image (lzma
compressed) + the sqashfs_root.
In addition, using the oem bootloader, I'm unable to pass kernel param and
device tree.

More detail here: https://wiki.openwrt.org/inbox/d-link/d-link_dwr-512_b in
the section FW installation.

I start some discussion in the bug report but I realize it is better to use
the mailing list.
According with the latest advice of Mathias Kresin I should use the default
strategy to generate an Image, therefore I add the following path:

diff --git a/target/linux/ramips/image/rt305x.mk
b/target/linux/ramips/image/rt305x.mk
index be21ac4..e830675 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -168,6 +168,13 @@ endef
 TARGET_DEVICES += dir-620-d1


+define Device/dwr-512-b
+  DTS := DWR-512-B
+  DEVICE_TITLE := D-Link DWR-512 B
+endef
+TARGET_DEVICES += dwr-512-b
+
+
 define Device/esr-9753
   DTS := ESR-9753
   BLOCKSIZE := 64k

You need to add support for the binboy format to tools/firmware-utils/. Might be possible that there is already a util to create the required header format.

Next step is to add a build recipe for the binboy header. Have a look at [0] for an example.

Your build code _might_ look like the following in the end:

define Device/dwr-512-b
  DTS := DWR-512-B
  KERNEL := kernel-bin | append-dtb | lzma
  IMAGES := factory.bin
  IMAGE/factory.bin := \
        append-kernel | binboy-header | append-rootfs | binboy-header
  DEVICE_TITLE := D-Link DWR-512 B
endef
TARGET_DEVICES += dwr-512-b

The basic build recipes like append-dtb are defined in include/image-commands.mk. Have a look at target/linux/*/image/Makefile to see how it is done for other boards.

The build code is made to build complete images and hide the build artefacts from the user. You can find the kernel created by the KERNEL line in build_dir/target-mipsel_24kc_musl-1.1.15/linux-ramips_rt305x/.

To see what really happens during the image build, run 'make target/linux/install V=s' after the build is finished.

Mathias

[0] https://git.lede-project.org/?p=source.git;a=blob;f=target/linux/ramips/image/Makefile;h=d165ec55126e0824cc4b7b11e09a6dc3e425a496;hb=HEAD#l86

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to