aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/x86/image/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-101-4/+2
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* x86: fix upgrade by emptying SUPPORTED_DEVICESAdrian Schmutzler2021-01-231-0/+1
| | | | | | | | | | | | | | | | | | | x86 uses append-metadata, but only for signing and not for the metadata itself. Since recently SUPPORTED_DEVICES was assigned with a global value and is not empty anymore, append-metadata will now actually put metadata into x86 images. This breaks sysupgrade on x86. To fix it for the moment, let's just empty SUPPORTED_DEVICES for this target again. In the long term, one should either not add metadata to the images if it is not desired, and/or remove the unintended fwtool check. Fixes: f52081bcf938 ("treewide: provide global default for SUPPORTED_DEVICES") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: simplify inclusion of subtarget image filesAdrian Schmutzler2020-06-111-15/+1
| | | | | | | | | | | | | | Many target use a repetitive if-include scheme for their subtarget image files, though their names are consistent with the subtarget names. This patch removes these redundant conditions and just uses the variable for the include where the target setup allows it. For sunxi, this includes a trivial rename of the subtarget image Makefiles. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* x86: fix unusable squashfs images by adding missing paddingPetr Štetiar2020-04-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was reported, that after image generation rework x86-64-generic-squashfs-rootfs.img image won't boot on XenServer x86_64 anymore: F2FS-fs (xvda): Magic Mismatch, valid(0xf2f52010) - read(0x84289960) F2FS-fs (xvda): Can't find valid F2FS filesystem in 1th superblock F2FS-fs (xvda): Magic Mismatch, valid(0xf2f52010) - read(0x4e8ee223) F2FS-fs (xvda): Can't find valid F2FS filesystem in 2th superblock List of all partitions: ca00 4207 xvda driver: vbd No filesystem could mount root, tried: ext3 ext2 ext4 squashfs iso9660 f2fs Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(202,0) So lets fix this by adding back padding which was introduced in commit a17d9482f5e2 ("x86: image: fix small disk space in squashfs overlay"). Ref: FS#3036 Fixes: 258f070d1a4f ("x86: fix missing squashfs and ext4 rootfs images") Fixes: cb007a7bf619 ("x86: switch image generation to new code") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* x86: image: drop dead codeTomasz Maciej Nowak2020-04-201-8/+0
| | | | | | | These are remnants of old image generation code, which now serve no purpose. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* x86: append metadata to combined imagesPaul Spooren2020-04-141-4/+4
| | | | | | | | | | | | Now that the x86 target uses the new image generation code we can also attach metadata to the created images. As currently the `SUPPORTED_DEVICES` list is empty, no JSON metadata is attached, however the signing happens in the same step. This results in signature verification for x86 images. Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86: fix grub-bios-setup fail during sysupgrade李国2020-04-091-0/+3
| | | | | | | | | | grub-bios-setup requires two images (boot.img and core.img), but they are missing. This make an error during sysupgrade: Upgrading bootloader on /dev/sda... grub-bios-setup: error: cannot open `/tmp/boot/boot/grub/boot.img': No such file or directory. Signed-off-by: 李国 <uxgood.org@gmail.com>
* x86: generate EFI platform bootable images李国2020-03-311-8/+38
| | | | | | | | | | | | | | | | | Add EFI platform bootable images for x86 platforms. These images can also boot from legacy BIOS platform. EFI System Partition need to be fat12/fat16/fat32 (not need to load filesystem drivers), so the first partition of EFI images are not ext4 filesystem any more. GPT partition table has an alternate partition table, we did not generate it. This may cause problems when use these images as qemu disk (kernel can not find rootfs), we pad enough sectors will be ok. Signed-off-by: 李国 <uxgood.org@gmail.com> [part_magic_* refactoring, removed genisoimage checks] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* grub2: make some change to add efi platform support李国2020-03-311-5/+4
| | | | | | | | 1.generate boot image at Package/install section 2.move boot image to $(STAGING_DIR_IMAGE)/grub2/ 3.add efi variant to support efi platform Signed-off-by: 李国 <uxgood.org@gmail.com>
* x86: fix missing squashfs and ext4 rootfs imagesPaul Spooren2020-03-281-2/+4
| | | | | | | | | | | | | | | The previous rework of x86 image creation done in commit cb007a7bf619 ("x86: switch image generation to new code") removed images of separate squashfs and ext4 filesystems which are handy for example in testing under QEMU. So this patch adds back creation of those missing rootfs images for ext4 and squashfs based filesystems. Fixes: cb007a7bf619 ("x86: switch image generation to new code") Signed-off-by: Paul Spooren <mail@aparcar.org> [commit subject and description tweaks] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* x86: fix padding in imagesPaul Spooren2020-03-281-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous rework of x86 image creation done in commit cb007a7bf619 ("x86: switch image generation to new code") broke the padding in images. sda: p2 size 212992 extends beyond EOD, enabling native capacity sda: p2 size 212992 extends beyond EOD, truncated sd 0:0:0:0: [sda] Attached SCSI disk SQUASHFS error: squashfs_read_data failed to read block 0x2cc556 unable to read id index table VFS: Cannot open root device "PARTUUID=ac5c9cd8-02" or unknown-block(8,2): error -5 Please append a correct "root=" boot option; here are the available partitions: 0800 19761 sda driver: sd 0801 16384 sda1 ac5c9cd8-01 0802 2865 sda2 ac5c9cd8-02 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2) Tested with x86/64 with Docker (squashfs), qemustart (ext4/squashfs) and virtualbox (ext4/squashfs). Ref: FS#2935 Fixes: cb007a7bf619 ("x86: switch image generation to new code") Suggested-by: Russell Senior <russell@personaltelco.net> Signed-off-by: Paul Spooren <mail@aparcar.org> [commit subject and description tweaks] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* x86/geode: add missing include after rebasePaul Spooren2020-03-231-0/+4
| | | | | | | | | | | | | The x86 image generation was refacted via cb007a7bf6 and accidently not included `geode.mk` when selected as subtarget. Now the file is included and image compilation for x86/geode works again. Thanks to Russell Senior <russell@personaltelco.net> for reporting the problem and suggesting a patch! Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86: allow non gzipped imagesPaul Spooren2020-03-211-1/+6
| | | | | | | | | The previous image generation code would always gzipped images. This patch changes the behaviour and only compresses images when selected in menuconfig. Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86: use qemu-image command from image-commands.mkPaul Spooren2020-03-211-12/+2
| | | | | | | | | | | The `qemu-image` command converts images to the specified type and reduces redundant code. Adaption from Alexander Couzens <lynxis@fe80.eu> work[0]. [0]: https://git.openwrt.org/?p=openwrt/staging/lynxis.git;a=blob;f=target/linux/x86/image/Makefile;h=83b8140b7aefbe708fd09c9c61827e7e39bda8b4;hb=416cccf398e9589e3de386e05b61b1c46cace20d#l51 Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86: switch image generation to new codePaul Spooren2020-03-211-104/+75
| | | | | | | | | | | | | | | | | | | | | | | | This commit introduces few related changes which need to be done in single commit to keep images buildable between git revisions. In result it retains all previous image creation possibilities with slight name change of generated images. Brief summary of the commit: * Split up image generation recipe to smaller chunks to make it more generic and reusable. * Make iso images x86 specific and drop their definition as root filesystem. * Convert image creation process to generic code specified in image.mk. * Make geode subtarget inherit features from the main target instead of redefining them. * For subtargets create device definitions with basic packages set. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [rebased] Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86/grub2: move grub2 image creation to packagePaul Spooren2020-03-211-22/+8
| | | | | | | | | | | Let the grub2 package take care of creating installable grub2 images, this will allow creating grub2 images without first calling x86 image generation recipe. Also as side effect, since those images are now shared, it'll reduce the number of calling grub-mkimage. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [rebase, adjusted commit title] Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86: add bootloader upgrade on sysupgradeTomasz Maciej Nowak2020-03-011-3/+4
| | | | | | | | | | | | | | Currently bootloader always stays on the same version as when first written to boot medium (not true if partition layout changed, which will trigger sysupgrade process to write full disk image). That creates inconveniences as it always stays with same features or/and bugs. Users wishing to add support to additional modules or new version, would need to write the whole image, potentially destroying previous system configuration. To fix these, this commit adds additional routine to sysupgrade which upgrades unconditionally the bootloader to the latest state provided by OpenWrt. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* x86: image: cleanup before creating imageTomasz Maciej Nowak2020-03-011-0/+2
| | | | | | | | | There can be some leftovers from other image recipes, if the same directory names are used and multiply image types are selected. Therefore remove directories used in the recipe, before contents for the image are prepared. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* build: build proper VMDK formats for ESXI 6.5John Sommerville2019-12-231-0/+6
| | | | | | | | | | | | | | | | | | | | | VMWare ESXI 6.5 and above is not compatible with subformat=monolithicSparse (The default qemu-img convert -O VMDK option). Monolithic Sparse vmdk can be imported, but issues occur when running sysupgrade with new images and other tasks that modify the file system (issues like Kernel panics, reboot loops, sometimes crashing the Host ESXI box). This change creates an additional VMDK output file for ESXI that sets the subformat to monlithicFlat, and the adapter_type to the SCSI lsilogic controller. This change existed back on: 25e36d379e73d64d6316fae9dc841c5ef28980f1 But it looks like the change was removed when refactoring occurred with: 5f6a2732f892b6229473576d89cc963ae9c97d5d Signed-off-by: John Sommerville <jsommerville@untangle.com>
* x86,tegra,mvebu: image: use common reproducible IMG_PART_SIGNATUREPaul Spooren2019-11-111-3/+2
| | | | | | | | | | | | | These targets are currently using more or less same SIGNATURE variable which provides unique partition ID/signature, so it makes sense to refactor it out into common IMG_PART_SIGNATURE variable which could be reused by all targets. This is another step in the direction of reproducible OpenWrt images. Signed-off-by: Paul Spooren <mail@aparcar.org> [split into separate commit, renamed to IMG_PART_SIGNATURE] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* target/x86/image: use qemu-img from STAGING_DIR_HOSTFlorian Eckert2019-08-171-2/+2
| | | | | | | | | | The host tool package qemu is build for the target x86. The installed tool qemu-img is needed to build vdi or vmdk images. In the image Makefile we use however the host installed qemu-img command and not the tool from the buildsystem. This commit force to use the already build qemu-img command from the openwrt toolchain. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* x86: image: fix small disk space in squashfs overlayPetr Štetiar2019-06-251-12/+1
| | | | | | | | | | | | | Current squashfs snapshot images are improperly padded by just 128k, which doesn't correspond with TARGET_ROOTFS_PARTSIZE=128 default config option, leading to following: Filesystem Size Used Available Use% Mounted on /dev/root 2.5M 2.5M 0 100% /rom /dev/loop0 85.0K 9.0K 71.0K 11% /overlay overlayfs:/overlay 85.0K 9.0K 71.0K 11% / Signed-off-by: Petr Štetiar <ynezz@true.cz>
* rb532,x86: image: use new IMG_COMBINED and IMG_ROOTFS varsPetr Štetiar2019-06-251-12/+12
| | | | | | | In `build: image: Add IMG_ROOTFS and IMG_COMBINED variables` we've added this new variables so switch to them now. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* x86: image: remove TARGET_IMAGES_PAD option and force paddingPetr Štetiar2019-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we're producing unusable x86 combined squashfs images (18.06.1, 18.06.2 and snapshots) as we don't enable TARGET_IMAGES_PAD, thus providing very small space for the overlay filesystem, leading to the following with OpenWrt 18.06.1 r7258-5eb055306f images on x86 QEMU: root@(none):/# mount | egrep 'root|overlay' /dev/root on /rom type squashfs /dev/loop0 on /overlay type ext4 overlayfs:/overlay on / type overlay root@(none):/# df -h | egrep 'root|overlay|Size' Filesystem Size Used Available Use% Mounted on /dev/root 2.5M 2.5M 0 100% /rom /dev/loop0 113.0K 8.0K 97.0K 8% /overlay overlayfs:/overlay 113.0K 8.0K 97.0K 8% / We should rather ensure proper image padding in image generation code and we shouldn't rely on config options in order to generate usable images. So this patch removes TARGET_IMAGES_PAD config option and enforces padding on combined images. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* x86: image: add test module to bootloaderTomasz Maciej Nowak2019-02-171-2/+2
| | | | | | | | | | | | It was previously added in 546fced, which was part of "intel-microcode: load as early as possible" series. Unfortunately the conditionals added to GRUB config caused error on boot, because on sysupgrade, bootloader is not updated and is left with old features/modules. Since this module is needed for early microcode load and transition to this needs to be done step by step, enable the test module now, so that every newly created image has it already embedded. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* build: remove leftovers from previous x86 commitsTomasz Maciej Nowak2019-02-171-8/+0
| | | | | | | | | | | | | | | | | VBoxManage is not used and the image is created with proper permisions: 0f5d0f6 image: use internal qemu-img for vmdk and vdi images drop host dependencies on qemu-utils and VirtualBox Unreachable config symbols: 9e0759e x86: merge all geode based subtargets into one No need to define those symbols since x86_64 is subtarget of x86: 196fb76 x86: make x86_64 a subtarget instead of a standalone target Unreachable config symbols, so remove GRUB_ROOT: 371b382 x86: remove the xen_domu subtarget Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* Revert "x86: add intel microcode entries to grub config"John Crispin2018-11-271-2/+2
| | | | | | This reverts commit 546fced2a23557e95dd34246744c3aa6cad92fe6. Signed-off-by: John Crispin <john@phrozen.org>
* x86: add intel microcode entries to grub configTomasz Maciej Nowak2018-11-261-2/+2
| | | | | | | | | Create initrd enries for x86 images, that'll load intel microcode as early as possible. To achieve that the test module for grub is enabled which provides shell-like conditionals. Also restrict the late load of microcode to AMD processors. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* x86: add packages files to image bootfsTomasz Maciej Nowak2018-11-261-0/+2
| | | | | | | Add files to bootfs image from selected as built-in packages, which want to install files to targets boot file system. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* x86: add support to set GRUB menu entry titleKjel Delaey2018-07-301-0/+3
| | | | | | | | $ make menuconfig Target Images -> Title for the menu entry in GRUB Signed-off-by: Kjel Delaey <kjel_delaey@hotmail.com>
* scripts/gen_image_generic.sh: move from x86/imageStijn Tintel2017-07-141-1/+1
| | | | | | The script can also be useful for other targets. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* build: enable gzipping of images on x86 even if ext4 is disabledFelix Fietkau2017-07-061-4/+2
| | | | | | | There is lots of padding between the boot partition and the rootfs, so gzipping is helpful here Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: allow specifying flow-control to grub on serial consolePhilip Prindeville2017-04-031-2/+2
| | | | | | | On the more sophisticated (i.e. deeper FIFO) serial controllers, flow-control might be needed to avoid dropping output. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* x86: image: drop duplicated copy of bzImage into vmlinuzRafał Miłecki2017-03-161-1/+0
| | | | | | It's already done once few lines earlier in the Image/Build/iso. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* x86: image: drop unneeded grub callRafał Miłecki2017-03-121-1/+0
| | | | | | | It appears there isn't any Image/Build/grub/* define so this step looks redundant. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* x86: image: drop unused ROOTDELAY variableRafał Miłecki2017-03-121-2/+0
| | | | | | | It's unused since commit 742700719303 ("x86: remove the olpc subtarget, it has been unmaintained for a long time"). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* target/linux/x86/image: add explicit prefix to grub-mkimage commandAlexandru Ardelean2016-12-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In the latest version of grub-mkimage, the prefix option is mandatory. Not supplying it fails with: ``` Prefix not specified (use the -p option). ``` In grub-2.02-beta2 a DEFAULT_DIRECTORY was defined in `include/grub/osdep/hostfile_unix.h` as: ``` #if defined (__NetBSD__) /* NetBSD uses /boot for its boot block. */ # define DEFAULT_DIRECTORY "/"GRUB_DIR_NAME #else # define DEFAULT_DIRECTORY "/"GRUB_BOOT_DIR_NAME"/"GRUB_DIR_NAME #endif ``` Where: * GRUB_BOOT_DIR_NAME == boot * GRUB_DIR_NAME == grub This was used if the -p option was omitted. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* x86: fix GRUB_ROOT for Xen subtargetWilfried Klaebe2016-11-191-0/+6
| | | | | | | | | Change grub's root device to xen/xvda,msdos1 for the x86_xen_domu target so that it will boot without further changes. Signed-off-by: Wilfried Klaebe <w+lede-project@chaos.in-kiel.de> [Jo-Philipp Wich: fixed and rebased patch from FS#264, added subject] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* x86: drop the use of block2mtd, use ext4/f2fs as overlay filesystemFelix Fietkau2016-09-101-16/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: remove obsolete reference to $(PROFILE)Felix Fietkau2016-07-201-1/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: stop relying on hexdump for image build signatureFelix Fietkau2016-07-031-1/+1
| | | | | | | Use perl to generate random number instead. See https://github.com/freifunk-gluon/gluon/issues/811 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: remove defunct etherboot image building codeFelix Fietkau2016-05-121-7/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: remove legacy script/makefile code for rdc devicesFelix Fietkau2016-05-121-24/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* x86: enable grub at_keyboard support for x86_64Felix Fietkau2016-05-121-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: Prevent more gzip timestampsJohn Crispin2015-07-141-2/+2
| | | | | | | | | To improve reproducibility, prevent the inclusion of timestamps in the gzip header. Signed-off-by: Reiner Herrmann <reiner@reiner-h.de> SVN-Revision: 46361
* x86: remove bogus bzImage copy that breaks initramfs+no-initramfs buildsFelix Fietkau2015-03-291-1/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45114
* x86: remove the olpc subtarget, it has been unmaintained for a long timeFelix Fietkau2015-03-281-34/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45083
* x86: use PARTUUID instead explicitly specifying the device by defaultJo-Philipp Wich2015-03-241-1/+3
| | | | | | | | | | | | | This changes the x86 image generation to match x86_64, using the PARTUUID for the rootfs instead of explicitly configuring the device. It unbreaks KVM with VirtIO, which uses /dev/vda2 instead of /dev/sda2. Tested in QEMU/KVM with VirtIO, VirtualBox and VMware. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 44966
* x86: disable rts/cts for serial console in grub - fixes net48xx boot issuesFelix Fietkau2015-03-141-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44753
* x86: remove the arbitrary limitation of vmware/virtualbox images to ext4, ↵Felix Fietkau2014-07-201-16/+10
| | | | | | | | select TARGET_IMAGES_PAD instead Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41763