I would like to do a minimal build for a linkit-smart that just has enough functionality to boot the device and configure network interfaces for client use (I don't need any of the router/webui/config/python/lua functionality). Can someone guide me through how this process works at a high level?
So I followed the process on this page, and I have an image that will install and boot.
What drives what packages are installed in the rootfs, and how does one modify this package list?
I see the documentation on the "make image" command, but when I run that, there is no image target in the makefile:
[cbrake@mars openwrt]$ make image PROFILE=tl-wr941nd-v6 PACKAGES="-ppp -ppp-mod-pppoe -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables" V=s
make[1]: Entering directory '/scratch/linkit-smart/openwrt'
make[1]: *** No rule to make target 'image'. Stop.
make[1]: Leaving directory '/scratch/linkit-smart/openwrt'
make: *** [/scratch/linkit-smart/openwrt/include/toplevel.mk:218: image] Error 2
Again, I would just like a simple image with init, busybox, and not a lot else. Is there a "base image" configuration that provides this, or is openwrt all or nothing?
"make image" is an Image Builder "only" command. Since that's not an OpenWrt project you've referenced, what is supplied may or may not be consistent with OpenWrt packages. The Image Builder can only assemble images from pre-built packages. I don't use the Image Builder at all due to it being limited to pre-built packages, but some documentation includes
The full toolchain is required to build from source. The contents of an image is controlled by the make menuconfig command, or the like.
Another option are the "snapshot" images which are built without LuCI and are pretty close to "minimal" (though they do have a few extra kernel modules and utilities to support PPP and other "generic" upstream connections).