Originally Posted by
Master Razor
When you build a firmware image do you actually check your used space or does the compiler warn you when your image will take more than the maximum amout of flash space? The last time I built my custom image I calculated the space used by the packages before compiling them to make sure I don't go over.
There are no checks or warnings. If you add too many files or packages, the building process will run as usual, but ultimately no firmware will be generated, and the only things you'll find under the bin directory are kernel images (meant to be loaded in memory via serial debugging, or kexec if you're adventurous).
Anyway, your command line is not incorrect, but it has a lot of fluff. Firstly, let's have a look at the first few lines of `make info' for the LEDE 17.01.2 ar71xx image builder (because that's the version I have at hand right now).
Code:
Current Target: "ar71xx (Generic)"
Default Packages: base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch logd kmod-gpio-button-hotplug swconfig kmod-ath9k wpad-mini uboot-envtools dnsmasq iptables ip6tables ppp ppp-mod-pppoe firewall odhcpd odhcp6c
Available Profiles:
Default:
Default Profile (all drivers)
Packages: kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport
Both everything listed after "Default Packages" (don't confuse with default profile) and their dependencies are implied for any image you build, so there's no need to specify you want busybox, iptables and such. Now, these are the lines pertaining to your particular router model. Note how the profile names differ from yours, I assume you're trying to build OpenWrt 12.09.
Code:
tl-wr740n-v1:
TP-LINK TL-WR740N/ND v1
Packages:
tl-wr740n-v3:
TP-LINK TL-WR740N/ND v3
Packages:
tl-wr740n-v4:
TP-LINK TL-WR740N/ND v4
Packages:
tl-wr740n-v5:
TP-LINK TL-WR740N/ND v5
Packages:
tl-wr740n-v6:
TP-LINK TL-WR740N/ND v6
Packages:
This means the TL-WR740N routers require no additional packages over the default ones; USB support won't be added, so you don't need to explicitly disallow it in the command line either.
If you're still confused, just flash a stock image and run opkg list-installed.
- Whatever is in the list and you want to have, doesn't need to be specified when building the image.
- Whatever isn't in the list and you want to have, must be added to the command line.
- Whatever is in the list that you don't want to have, must be removed via the command line (-thing -thing2). If it's still there after flashing your image, then it's a dependency of something else and thus still necessary.
Bookmarks