Since I'm new to OpenWrt I have a bunch of questions.
Maybe someone here can kindly clarify a few things for me.
- Create a 16MiB firmware image for a full flash just for your router (*).
- Copy u-boot:
dd of=./cImage.bin if=./u-boot.bin
- Integrate your oWRT nor image (at position
dd bs=1024 seek=512 of=./cImage.bin if=./***NOR-squashfs-sysupgrade.bin
- Finish the image with the board_config (at
0xfe0000) and verify it's size (exactly 16 MiB = 16777216 Byte):
dd bs=1024 seek=16256 of=./cImage.bin if=./board_config.dump
- Optional step - Add a 128KiB (131.072 byte) non-empty uboot environment with correct CRC between uboot and OpenWrt to make it usable for the uboot -envtools with:
dd bs=1024 seek=384 conv=notrunc if=/<path>/uBoot-Env.bin of=cImage.bin
cImage.binon your router via brnboot's hidden recover web interface (
http://192.168.1.1/undoc_upgrade.stm) similar to 1. - just select "Master" instead of Firmware or Bootloader.
I'm trying to understand what's actually being done in the above steps.
My current understanding:
A. Append the u-boot
nor-image to the
B. Append the
board_config obtained from stock firmware with the image generated in A.
The resulting image should consume the exact size of the available flash storage on the device.
C. Flash the resulting image via
brnboot's recovery interface.
After the successful flash, and ssh-ing into the device, I am presented with the following MTD partition-layout:
# cat /proc/mtd dev: size erasesize name mtd0: 00020000 00020000 "board_config" mtd1: 00060000 00020000 "uboot" mtd2: 00020000 00020000 "uboot-env" mtd3: 00f60000 00020000 "firmware" mtd4: 001eaeb2 00020000 "kernel" mtd5: 00d7514e 00020000 "rootfs" mtd6: 009c0000 00020000 "rootfs_data"
Once I built my squashfs-image, which partitions will be replaced when flashing the image?
Is my assumption correct, that
mtd6would be replaced by the new image while
Or, would I have to do the concatenation dance every time I'd want to flash a new image?
I.e. download/build my squashfs image, append
uboot, then flash.
What's stored in
board_config? Should I keep a copy of the original dump I made from the stock partition, or could this easily be regenerated?
You'll need to edit the DTS, in order to disable the voice core reservation and enable SMP, before recompiling an image.
It seems that there exist no specific dts-file in the openwrt source for this particular device - at least I couldn't find one:
find -name "*lantiq*.dts" ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts ./target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts
Does "voice core reservation" pertain to the
SIP capabilities of this device, or is this related to something entirely different?
How would I disable the "voice core reservation" and enable
SMP and create the appropriate DTS file for this device?
How do I choose the correct VDSL firmware?
Do I have to make the choice depending on the device?
The type of DSL line?
Is it specific to my telecom provider?
Or, more generally, what's the algorithm for picking the correct firmware?