The --mtime argument to 'tar' sets the modification time for all files within
the archive, which determines the timestamp files will get when they are
extracted. In this case, rootfs and other tarballs will get mtimes which
correspond to the last commit timestamp of the build system, as reported by
git/subversion.
This is a step towards reproducible image builds.
Signed-off-by: bryan newbold <bnewbold@robocracy.org>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48586
`Build/ubnt-erx-factory-kernel` in `target\linux\ramips\image\Makefile`
references `$(KERNEL_INITRAMFS_IMAGE)`
which is not exported
Signed-off-by: YounJae Rho <luxflow@live.com>
SVN-Revision: 48116
For final output image names allow user to add an
extra string (which is sanitized). This is particularly
useful with ImageBuilder where you may generate multiple
images from the same base and for the same board,
with different package selections and additional files
(via FILES=).
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
SVN-Revision: 48083
We allow to configure the version distribution name;
let's also use it for the final image filenames.
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
SVN-Revision: 48082
Use kernel arch for dts compilation.
Also use Image/BuildDTB to build dts for ramips.
Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
SVN-Revision: 47823
Some devices require the kernel to be in a JFFS2 file system. Make the
support for this more generic so that it can be used by other devices.
Signed-off-by: Benjamin Berg <benjamin@sipsolutions.net>
SVN-Revision: 47404
In case if we're interested in generation of non-binary images
(for example if we want images to be valid .elfs - and that's what we
want for ARC now) we have to instruct Device/Build/initramfs target to
use input file with some extension (in case of ARC it will be
essentially .elf).
Otherwise default binary vmlinux-initramfs (without extension) is used and
resulting images then are binaries instead of elfs.
Now having KERNEL_INITRAMFS_NAME variable it's possible to substitute
default $$(KERNEL_NAME)-initramfs with preferred option like
$$(KERNEL_NAME)-initramfs.elf.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>
SVN-Revision: 47403
Making common code reusable as there's a lot of duplicate code in imx6,
kirkwood and oxnas archs.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
SVN-Revision: 47307
several packages reported different file order between builds
make binutils, kmod-sched reproducible
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
SVN-Revision: 46859
The KERNEL_SIZE should be the maximum size, inclusive, so we need to
check for greater equal, not just greater.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46792
Make the device name accessible for any build commands instead of
forcing targets to define it themselves.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46597
Instead of letting each target define it themselves, create on in
include/image.mk and let the targets use it.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46596
Instead of each target defining it the same, move the KDIR_TMP
definition to include/image.mk. In addition Image/Build/SysupgradeNAND
already requires KDIR_TMP to be set, so it makes sense to have it
globally defined.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46592
Add a Image/BuildDTB command that takes the path to an dts file and
applies the CPP using the default include directories, then uses dtc
to compile the dts as the specified output file.
Additional CPP and DTC flags can be supplied as additional arguments.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46389
To improve reproducibility, prevent the inclusion of timestamps
in the gzip header.
Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>
SVN-Revision: 46361
Some kernel images need to be wrapped in a loader, which cannot be built
without a working toolchain.
Also, this speeds up the image builder run.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45836
Output warnings through stderr to allow them to be easilier spotted
when building with V=w.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45746
As mkits.sh makes the -d argument optional, we'll make this same
argument optional in the MkFIT function as well.
With this change, MkFIT can be used both to generate FIT images with DT,
and without DT.
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>
SVN-Revision: 45660
Set it to the filesystem which is build. mktplinkfw need to know which filesystem
is used.
FILESYSTEM can be squashfs, jffs2-64k, ...
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 44997
This simplifies building device / profile specific images, and allows
the build system to parallelize generating images
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43907
This commit introduces a new option CONFIG_VERSION_FILENAMES which causes
OpenWrt to embed the version number in generated image files, SDK- and
ImageBuilder archives.
The option is enabled by default if CONFIG_VERSIONOPT is set.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 43869
When using UbinizeImage with ubifs rootfs, ubinize.cfg is no longer
needed. Yet, the absance of ubinize.cfg would make the build process
abort with an error.
Fix that by checking if ubinize.cfg is present and do no not call the
"classic" ubinize image generation if it isn't.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[missing new-line before UbinizeImage added itentionally]
SVN-Revision: 43788
Removed unused ubi file file from template as ubinized images are
passed directly and not inside the tarball.
Also removed left-over white-space.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 41237
Small journal size can lead to problems if nand flash is too big. By default
ubifs will use ~12% of volume size or a maximum of 8MiB.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 38799
When creating an image it makes no sense to have files owned by
the uid and gid on the host (and even creates a bug when for
example dropbear authorized_keys is included via env/files).
Signed-off-by: Joris de Vries <joris@apptrician.nl>
SVN-Revision: 38442
The extra commas get output by the shell resulting in errors since
the commands that get called with those extra commas are then
malformed.
Signed-off-by: Joris de Vries <joris@apptrician.nl>
SVN-Revision: 38419
Now it is possible to build ubi/ubifs images for only selected boards inside
single target.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 38375
The new root.jffs2-*-raw images can be used for firmware
images with custom padding requirements.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38196
Linux expects that the /dev/console node is present in
the rootfs image. Create the node in rootfs images, in
order to make std{in,out,err} usable even in early init
process.
Note: tar.gz and cpio.gz images are not handled yet.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37847
Due to a typo in the Makefile variable, mkfs.jffs2 is called
without the correct parameters.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37514
Preserve order of components in initramfs image filename
when doing copy from $(KDIR) to $(BIN_DIR).
Patchwork: http://patchwork.openwrt.org/patch/3811/
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37452
Make jffs2_nand a separate option so this can be triggered without forcing
jffs2 images for nor targets.
Adds a new NAND_BLOCKSIZE variable that allows setting the generated layout
in <page_size>:<block_size> pairs.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 36860
xz supports using an architecture specific BCJ filter, use that one to
save us a couple kB while producing squashfs filesystems (mimics the
Linux kernel).
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 35097
All Image/mkfs/... macros call the Image/Build except for
Image/mkfs/targz and Image/mkfs/cpiogz
This patch adds the Image/Build call for Image/mkfs/targz and
Image/mkfs/cpiogz.
Signed-off-by: Maarten Bezemer <m.m.bezemer@utwente.nl>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 34473
The genext2fs tool will 'reserve' 5% of the image size by default,
apparently by creating a huge lost+found directory. In fact it seemed to
be much more than 5% in practice — I saw an image with 8MiB used, and
recovered about 2MiB of it by deleting the 'empty' lost+found directory:
/dev/loop0 48377 8482 37438 19% /mnt/spare
# rmdir lost+found/
/dev/loop0 48377 6014 39906 14% /mnt/spare
This makes it configurable, but leaves it at the genext2fs default
of 5% for now. It should probably be changed to default to zero, but
that can be a separate patch.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34408
Currently we call mkfs.jffs2 --squash, which will change
both file permissions and owners.
If we have some file with suid bits, it will clear these bits.
Thus it's enough to just squash file owners, by replacing that
argument to --squash-uids.
Signed-off-by: Jonh Wendell <jonh.wendell@oiwifi.com.br>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 34397
On the off chance that the root filesystem's /tmp is used directly as a
temporary directory instead of having a tmpfs mounted over it, it should have
the sticky bit set.
Signed-off-by: Mark Mentovai <mark@moxienet.com>
SVN-Revision: 32572