Find an entry in menuconfig/kconfig?
Open menuconfig and then input the / character to search.
Flash an (avm or modified) image by bootloader?
Run tools/push_firmware, use tools/push_firmware -h for help.
Or just make push_firmware after make.
Flash with Raspberry?
Put the created image onto the raspberry. Download the current push_firmware script:
wget https://raw.githubusercontent.com/Freetz-NG/freetz-ng/master/tools/push_firmware
Make it executable: chmod +x push_firmware. Now run it: ./push_firmware ...
Why in-memory image format?
It's no longer needed, as push_firmware can flash an image itself.
Unpack an image?
Use tools/fwdu unpack the.image to extrace the (inner) filesystem.
Older modem/DSL driver?
Unpack the source image file with fwdu. Then copy the needed files
with directories to a sub directory of the addon/ directory in Freetz.
Now enable the new addon in a addon/*.pkg file
The needed files depends on your device. Examples:
For 7490, the whole directory /lib/modules/dsp_vr9/
For 7590, the whole directory /lib/modules/dsp_vr11/
Replace kernel?
Don't use it - until you know why you need it!
You'll never have an kernel as expected by avm. Maybe some patches
are missing, maybe some options are not selected as avm intended.
Build kernel modules?
If you dont know which module for a specific device is required, attach the device to a Linux PC to check it. Commands: dmesg, lsusb, lsmod etc
Make sure the latest source code for your device is available at https://osp.avm.de/ and integrated into Freetz. If not, you need to ask AVM: fritzbox_info@avm.de
Now run make menuconfig and select your Fritzbox and Fritzos. Then the module needs to be enabled with make kernel-menuconfig as "M(odule)", use / to search.
If you dont want to do that every time, you could upload your changes in make/linux/configs/freetz/ as a push-request.
To copy the file to the image, selected it with make menuconfig or if not available add its name(s) to Kernel modules -> Own Modules.
Execute files on storages?
Disabled by default since some time by AVM. To allow,
select "Drop noexec for (external) storages" patch.
For internal storages, it is enabled always with Freetz!
Execute commands on reboot?
Put your executable script here: /tmp/flash/mod/shutdown
Edit read-only files?
There are wrapper scripts called vix, vimx and nanox
Make read-only directories writable?
There is a small script which copies the directory to ram and mounts it writable: araw /some/random/path/
Change motd?
You could put your own *script* here: /tmp/flash/mod/motd
The motd will be generated 1 time at boot. To update it
regularly, run /mod/etc/init.d/rc.mod motd eg by cron.
Old packages structure in menuconfig?
To use old packages structure, run make menuconfig-single.
How to handle Git?
Quick start guide for begitners: https://xkcd.com/1597/