From 9ef96373a93e411f7d4b37f7073bd71a6c85a2e0 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 7 Aug 2018 16:45:12 +0200 Subject: [PATCH] Update buildroot 2018.05.1 / u-boot (#150) * Update buildroot 2018.05.1 / u-boot * Cleanup * Fix bl --- ...irqify-bcm2835-sdhost-and-fix-writes.patch | 409 ------------------ buildroot-external/bootloader/uboot.config | 1 + buildroot-external/configs/rpi0_w_defconfig | 4 +- buildroot-external/configs/rpi2_defconfig | 4 +- buildroot-external/configs/rpi3_64_defconfig | 4 +- buildroot-external/configs/rpi3_defconfig | 4 +- buildroot-external/configs/rpi_defconfig | 4 +- buildroot-external/configs/tinker_defconfig | 3 - buildroot-external/misc/fw_env.config | 2 +- .../bluetooth-rtl8723/bluetooth-rtl8723.mk | 6 +- ...01-CMD-read-string-from-fileinto-env.patch | 19 +- ...-uboot-tools-Update-tools-to-2018.07.patch | 35 ++ buildroot/CHANGES | 32 ++ buildroot/Makefile | 4 +- buildroot/board/minnowboard/linux.config | 1 + buildroot/boot/uboot/uboot.mk | 10 +- buildroot/configs/raspberrypi3_defconfig | 1 + buildroot/configs/snps_archs38_hsdk_defconfig | 2 +- .../docs/manual/adding-packages-perl.txt | 2 +- buildroot/docs/manual/manual.html | 20 +- buildroot/docs/manual/manual.pdf | Bin 532222 -> 532227 bytes buildroot/docs/manual/manual.text | 6 +- buildroot/linux/linux.mk | 2 + buildroot/package/Makefile.in | 2 +- buildroot/package/audit/audit.mk | 4 +- buildroot/package/bind/bind.hash | 7 +- buildroot/package/bind/bind.mk | 8 +- buildroot/package/binutils/Config.in.host | 2 +- .../0002-ld-makefile.patch | 0 .../0003-check-ldrunpath-length.patch | 0 .../0004-add-sysroot-fix-from-bug-3049.patch | 0 .../0005-poison-system-directories.patch | 0 buildroot/package/binutils/binutils.hash | 2 +- buildroot/package/binutils/binutils.mk | 4 +- ...-static-library-and-headers-in-insta.patch | 4 +- buildroot/package/cifs-utils/cifs-utils.mk | 2 +- buildroot/package/clamav/clamav.hash | 2 +- buildroot/package/clamav/clamav.mk | 2 +- buildroot/package/collectd/collectd.hash | 4 + buildroot/package/collectd/collectd.mk | 4 +- buildroot/package/coreutils/coreutils.mk | 3 +- .../docker-containerd/docker-containerd.mk | 1 + buildroot/package/dos2unix/dos2unix.mk | 4 + buildroot/package/edid-decode/Config.in | 2 +- buildroot/package/edid-decode/edid-decode.mk | 2 +- ...ding-past-the-end-of-buffer-Rui-Reis.patch | 30 ++ buildroot/package/file/file.hash | 5 +- buildroot/package/file/file.mk | 9 +- .../871-xtensa-fix-PR-target-65416.patch | 101 +++++ .../0002-xtensa-fix-PR-target-65416.patch | 101 +++++ ...PR-target-81497-Fix-arm_acle.h-for-C.patch | 324 ++++++++++++++ buildroot/package/gcc/Config.in.host | 2 +- .../0100-uclibc-conf.patch | 0 .../0860-cilk-fix-build-without-wchar.patch | 0 .../0900-remove-selftests.patch | 0 buildroot/package/gcc/gcc.hash | 2 +- .../0007-gdbserver-fix-build-for-m68k.patch | 62 +++ .../0005-gdbserver-fix-build-for-m68k.patch | 62 +++ buildroot/package/gdb/Config.in | 6 + buildroot/package/gdb/Config.in.host | 18 +- buildroot/package/gdb/gdb.hash | 2 +- buildroot/package/glibc/glibc.hash | 2 +- buildroot/package/glibc/glibc.mk | 2 +- buildroot/package/gnupg/gnupg.hash | 4 +- buildroot/package/gnupg/gnupg.mk | 2 +- buildroot/package/gnupg2/gnupg2.hash | 8 +- buildroot/package/gnupg2/gnupg2.mk | 2 +- buildroot/package/heimdal/heimdal.mk | 3 + buildroot/package/hidapi/Config.in | 2 + .../package/imagemagick/imagemagick.hash | 2 +- buildroot/package/imagemagick/imagemagick.mk | 2 +- ...ith-ssh2-built-with-a-static-mbedtls.patch | 40 -- buildroot/package/libcurl/libcurl.hash | 5 +- buildroot/package/libcurl/libcurl.mk | 5 +- buildroot/package/libgcrypt/libgcrypt.hash | 8 +- buildroot/package/libgcrypt/libgcrypt.mk | 2 +- ...dcode-python-path-into-various-tools.patch | 48 ++ buildroot/package/liblogging/Config.in | 2 +- buildroot/package/libostree/libostree.mk | 4 +- buildroot/package/libressl/libressl.hash | 2 +- buildroot/package/libressl/libressl.mk | 2 +- buildroot/package/libsoup/Config.in | 2 +- ...Build-sdlcam-only-if-jpeg-is-enabled.patch | 31 ++ buildroot/package/libv4l/libv4l.mk | 8 + ...Limit-client-cut-text-length-to-1-MB.patch | 65 +++ ...ounds-check-on-very-low-sample-rates.patch | 28 ++ .../package/libwebsockets/libwebsockets.mk | 7 + ...erread-in-xsltFormatNumberConversion.patch | 35 -- buildroot/package/libxslt/libxslt.hash | 5 +- buildroot/package/libxslt/libxslt.mk | 10 +- .../package/linux-headers/Config.in.host | 10 +- buildroot/package/linux-tools/Config.in | 8 +- buildroot/package/lm-sensors/lm-sensors.mk | 2 +- buildroot/package/mariadb/mariadb.hash | 4 +- buildroot/package/mariadb/mariadb.mk | 2 +- buildroot/package/mpg123/mpg123.hash | 8 +- buildroot/package/mpg123/mpg123.mk | 2 +- buildroot/package/ncurses/ncurses.mk | 1 + buildroot/package/network-manager/Config.in | 4 +- buildroot/package/nodejs/nodejs.hash | 4 +- buildroot/package/nodejs/nodejs.mk | 2 +- ...LF-endianness-before-writing-new-run.patch | 40 ++ ...isting-files-before-overwriting-them.patch | 46 ++ buildroot/package/php-amqp/Config.in | 1 + buildroot/package/pinentry/pinentry.mk | 4 + buildroot/package/pixiewps/pixiewps.mk | 2 +- buildroot/package/pkg-generic.mk | 8 +- buildroot/package/qpdf/qpdf.hash | 6 +- buildroot/package/qpdf/qpdf.mk | 2 +- buildroot/package/qt5/qt53d/qt53d.mk | 10 +- buildroot/package/qt5/qt5base/qmake.conf.in | 2 +- buildroot/package/qt5/qt5base/qt5base.mk | 1 - buildroot/package/qt5/qt5charts/qt5charts.mk | 2 + ...-Detect-32-bits-armv8-a-architecture.patch | 49 +++ buildroot/package/redis/redis.hash | 2 +- buildroot/package/redis/redis.mk | 2 +- buildroot/package/skeleton/skeleton.mk | 1 + buildroot/package/systemd/systemd.mk | 4 +- .../package/triggerhappy/triggerhappy.mk | 4 +- .../package/uboot-tools/uboot-tools.hash | 2 +- buildroot/package/uboot-tools/uboot-tools.mk | 2 +- buildroot/package/wireguard/wireguard.hash | 4 +- buildroot/package/wireguard/wireguard.mk | 2 +- .../package/wireless-regdb/wireless-regdb.mk | 4 + buildroot/package/wireshark/wireshark.hash | 4 +- buildroot/package/wireshark/wireshark.mk | 2 +- .../support/dependencies/dependencies.sh | 2 + buildroot/support/download/dl-wrapper | 2 +- buildroot/support/scripts/pkg-stats | 12 +- buildroot/utils/test-pkg | 2 +- scripts/update-uboot.sh | 9 + 131 files changed, 1320 insertions(+), 656 deletions(-) delete mode 100644 buildroot-external/board/raspberrypi/patches/uboot/0002-mmc-unirqify-bcm2835-sdhost-and-fix-writes.patch create mode 100644 buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch rename buildroot/package/binutils/{arc-2018.03-rc2 => arc-2018.03}/0002-ld-makefile.patch (100%) rename buildroot/package/binutils/{arc-2018.03-rc2 => arc-2018.03}/0003-check-ldrunpath-length.patch (100%) rename buildroot/package/binutils/{arc-2018.03-rc2 => arc-2018.03}/0004-add-sysroot-fix-from-bug-3049.patch (100%) rename buildroot/package/binutils/{arc-2018.03-rc2 => arc-2018.03}/0005-poison-system-directories.patch (100%) create mode 100644 buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch create mode 100644 buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch create mode 100644 buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch create mode 100644 buildroot/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch rename buildroot/package/gcc/{arc-2018.03-rc2 => arc-2018.03}/0100-uclibc-conf.patch (100%) rename buildroot/package/gcc/{arc-2018.03-rc2 => arc-2018.03}/0860-cilk-fix-build-without-wchar.patch (100%) rename buildroot/package/gcc/{arc-2018.03-rc2 => arc-2018.03}/0900-remove-selftests.patch (100%) create mode 100644 buildroot/package/gdb/7.12.1/0007-gdbserver-fix-build-for-m68k.patch create mode 100644 buildroot/package/gdb/8.0.1/0005-gdbserver-fix-build-for-m68k.patch delete mode 100644 buildroot/package/libcurl/0001-Fix-link-with-ssh2-built-with-a-static-mbedtls.patch create mode 100644 buildroot/package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch create mode 100644 buildroot/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch create mode 100644 buildroot/package/libvncserver/0001-Limit-client-cut-text-length-to-1-MB.patch create mode 100644 buildroot/package/libvorbis/0001-CVE-2017-14160-fix-bounds-check-on-very-low-sample-rates.patch delete mode 100644 buildroot/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch create mode 100644 buildroot/package/patchelf/0004-patchelf-Check-ELF-endianness-before-writing-new-run.patch create mode 100644 buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch create mode 100644 buildroot/package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch create mode 100755 scripts/update-uboot.sh diff --git a/buildroot-external/board/raspberrypi/patches/uboot/0002-mmc-unirqify-bcm2835-sdhost-and-fix-writes.patch b/buildroot-external/board/raspberrypi/patches/uboot/0002-mmc-unirqify-bcm2835-sdhost-and-fix-writes.patch deleted file mode 100644 index 62d84c820..000000000 --- a/buildroot-external/board/raspberrypi/patches/uboot/0002-mmc-unirqify-bcm2835-sdhost-and-fix-writes.patch +++ /dev/null @@ -1,409 +0,0 @@ -From patchwork Wed May 23 20:24:51 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [U-Boot] mmc: Unirqify bcm2835_sdhost and fix writes -X-Patchwork-Submitter: Alexander Graf -X-Patchwork-Id: 919394 -X-Patchwork-Delegate: agraf@suse.de -Message-Id: <20180523202451.68781-1-agraf@suse.de> -To: u-boot@lists.denx.de -Date: Wed, 23 May 2018 22:24:51 +0200 -From: Alexander Graf -List-Id: U-Boot discussion - -The bcm2835 sdhost driver has a problem with "write multiple" commands. -It seems to boil down to the fact that the controller dislikes its FIFO -to get drained at the end of a block when a write multiple blocks command -is in flight. - -The easy fix is to simply get rid of all the IRQ driven logic and make -the driver push as much data into the FIFO as it can. That way we never -drain and we never run into the problem. - -Reported-by: Jan Leonhardt -Signed-off-by: Alexander Graf ---- - drivers/mmc/bcm2835_sdhost.c | 265 ++++++++----------------------------------- - 1 file changed, 47 insertions(+), 218 deletions(-) - -diff --git a/drivers/mmc/bcm2835_sdhost.c b/drivers/mmc/bcm2835_sdhost.c -index 96428333b0..1ce019af57 100644 ---- a/drivers/mmc/bcm2835_sdhost.c -+++ b/drivers/mmc/bcm2835_sdhost.c -@@ -163,7 +163,6 @@ struct bcm2835_host { - int clock; /* Current clock speed */ - unsigned int max_clk; /* Max possible freq */ - unsigned int blocks; /* remaining PIO blocks */ -- int irq; /* Device IRQ */ - - u32 ns_per_fifo_word; - -@@ -173,14 +172,7 @@ struct bcm2835_host { - - struct mmc_cmd *cmd; /* Current command */ - struct mmc_data *data; /* Current data request */ -- bool data_complete:1;/* Data finished before cmd */ - bool use_busy:1; /* Wait for busy interrupt */ -- bool wait_data_complete:1; /* Wait for data */ -- -- /* for threaded irq handler */ -- bool irq_block; -- bool irq_busy; -- bool irq_data; - - struct udevice *dev; - struct mmc *mmc; -@@ -240,17 +232,9 @@ static void bcm2835_reset_internal(struct bcm2835_host *host) - writel(host->cdiv, host->ioaddr + SDCDIV); - } - --static int bcm2835_finish_command(struct bcm2835_host *host); -- --static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) -+static int bcm2835_wait_transfer_complete(struct bcm2835_host *host) - { -- int timediff; -- u32 alternate_idle; -- -- alternate_idle = (host->data->flags & MMC_DATA_READ) ? -- SDEDM_FSM_READWAIT : SDEDM_FSM_WRITESTART1; -- -- timediff = 0; -+ int timediff = 0; - - while (1) { - u32 edm, fsm; -@@ -261,7 +245,10 @@ static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) - if ((fsm == SDEDM_FSM_IDENTMODE) || - (fsm == SDEDM_FSM_DATAMODE)) - break; -- if (fsm == alternate_idle) { -+ -+ if ((fsm == SDEDM_FSM_READWAIT) || -+ (fsm == SDEDM_FSM_WRITESTART1) || -+ (fsm == SDEDM_FSM_READDATA)) { - writel(edm | SDEDM_FORCE_DATA_MODE, - host->ioaddr + SDEDM); - break; -@@ -273,9 +260,11 @@ static void bcm2835_wait_transfer_complete(struct bcm2835_host *host) - "wait_transfer_complete - still waiting after %d retries\n", - timediff); - bcm2835_dumpregs(host); -- return; -+ return -ETIMEDOUT; - } - } -+ -+ return 0; - } - - static int bcm2835_transfer_block_pio(struct bcm2835_host *host, bool is_read) -@@ -322,6 +311,9 @@ static int bcm2835_transfer_block_pio(struct bcm2835_host *host, bool is_read) - fsm_state != SDEDM_FSM_READCRC)) || - (!is_read && - (fsm_state != SDEDM_FSM_WRITEDATA && -+ fsm_state != SDEDM_FSM_WRITEWAIT1 && -+ fsm_state != SDEDM_FSM_WRITEWAIT2 && -+ fsm_state != SDEDM_FSM_WRITECRC && - fsm_state != SDEDM_FSM_WRITESTART1 && - fsm_state != SDEDM_FSM_WRITESTART2))) { - hsts = readl(host->ioaddr + SDHSTS); -@@ -358,9 +350,8 @@ static int bcm2835_transfer_pio(struct bcm2835_host *host) - - is_read = (host->data->flags & MMC_DATA_READ) != 0; - ret = bcm2835_transfer_block_pio(host, is_read); -- -- if (host->wait_data_complete) -- bcm2835_wait_transfer_complete(host); -+ if (ret) -+ return ret; - - sdhsts = readl(host->ioaddr + SDHSTS); - if (sdhsts & (SDHSTS_CRC16_ERROR | -@@ -379,21 +370,8 @@ static int bcm2835_transfer_pio(struct bcm2835_host *host) - return ret; - } - --static void bcm2835_set_transfer_irqs(struct bcm2835_host *host) --{ -- u32 all_irqs = SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN | -- SDHCFG_BUSY_IRPT_EN; -- -- host->hcfg = (host->hcfg & ~all_irqs) | -- SDHCFG_DATA_IRPT_EN | -- SDHCFG_BUSY_IRPT_EN; -- -- writel(host->hcfg, host->ioaddr + SDHCFG); --} -- --static --void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_cmd *cmd, -- struct mmc_data *data) -+static void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_cmd *cmd, -+ struct mmc_data *data) - { - WARN_ON(host->data); - -@@ -401,14 +379,9 @@ void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_cmd *cmd, - if (!data) - return; - -- host->wait_data_complete = cmd->cmdidx != MMC_CMD_READ_MULTIPLE_BLOCK; -- host->data_complete = false; -- - /* Use PIO */ - host->blocks = data->blocks; - -- bcm2835_set_transfer_irqs(host); -- - writel(data->blocksize, host->ioaddr + SDHBCT); - writel(data->blocks, host->ioaddr + SDHBLC); - } -@@ -483,36 +456,6 @@ static int bcm2835_send_command(struct bcm2835_host *host, struct mmc_cmd *cmd, - return 0; - } - --static int bcm2835_transfer_complete(struct bcm2835_host *host) --{ -- int ret = 0; -- -- WARN_ON(!host->data_complete); -- -- host->data = NULL; -- -- return ret; --} -- --static void bcm2835_finish_data(struct bcm2835_host *host) --{ -- host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -- writel(host->hcfg, host->ioaddr + SDHCFG); -- -- host->data_complete = true; -- -- if (host->cmd) { -- /* Data managed to finish before the -- * command completed. Make sure we do -- * things in the proper order. -- */ -- dev_dbg(dev, "Finished early - HSTS %08x\n", -- readl(host->ioaddr + SDHSTS)); -- } else { -- bcm2835_transfer_complete(host); -- } --} -- - static int bcm2835_finish_command(struct bcm2835_host *host) - { - struct mmc_cmd *cmd = host->cmd; -@@ -562,8 +505,6 @@ static int bcm2835_finish_command(struct bcm2835_host *host) - - /* Processed actual command. */ - host->cmd = NULL; -- if (host->data && host->data_complete) -- ret = bcm2835_transfer_complete(host); - - return ret; - } -@@ -608,159 +549,44 @@ static int bcm2835_check_data_error(struct bcm2835_host *host, u32 intmask) - return ret; - } - --static void bcm2835_busy_irq(struct bcm2835_host *host) --{ -- if (WARN_ON(!host->cmd)) { -- bcm2835_dumpregs(host); -- return; -- } -- -- if (WARN_ON(!host->use_busy)) { -- bcm2835_dumpregs(host); -- return; -- } -- host->use_busy = false; -- -- bcm2835_finish_command(host); --} -- --static void bcm2835_data_irq(struct bcm2835_host *host, u32 intmask) -+static int bcm2835_transmit(struct bcm2835_host *host) - { -+ u32 intmask = readl(host->ioaddr + SDHSTS); - int ret; - -- /* -- * There are no dedicated data/space available interrupt -- * status bits, so it is necessary to use the single shared -- * data/space available FIFO status bits. It is therefore not -- * an error to get here when there is no data transfer in -- * progress. -- */ -- if (!host->data) -- return; -- -+ /* Check for errors */ - ret = bcm2835_check_data_error(host, intmask); - if (ret) -- goto finished; -- -- if (host->data->flags & MMC_DATA_WRITE) { -- /* Use the block interrupt for writes after the first block */ -- host->hcfg &= ~(SDHCFG_DATA_IRPT_EN); -- host->hcfg |= SDHCFG_BLOCK_IRPT_EN; -- writel(host->hcfg, host->ioaddr + SDHCFG); -- bcm2835_transfer_pio(host); -- } else { -- bcm2835_transfer_pio(host); -- host->blocks--; -- if ((host->blocks == 0)) -- goto finished; -- } -- return; -+ return ret; - --finished: -- host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN); -- writel(host->hcfg, host->ioaddr + SDHCFG); --} -- --static void bcm2835_data_threaded_irq(struct bcm2835_host *host) --{ -- if (!host->data) -- return; -- if ((host->blocks == 0)) -- bcm2835_finish_data(host); --} -- --static void bcm2835_block_irq(struct bcm2835_host *host) --{ -- if (WARN_ON(!host->data)) { -- bcm2835_dumpregs(host); -- return; -- } -- -- WARN_ON(!host->blocks); -- if ((--host->blocks == 0)) -- bcm2835_finish_data(host); -- else -- bcm2835_transfer_pio(host); --} -+ ret = bcm2835_check_cmd_error(host, intmask); -+ if (ret) -+ return ret; - --static irqreturn_t bcm2835_irq(int irq, void *dev_id) --{ -- irqreturn_t result = IRQ_NONE; -- struct bcm2835_host *host = dev_id; -- u32 intmask; -- -- intmask = readl(host->ioaddr + SDHSTS); -- -- writel(SDHSTS_BUSY_IRPT | -- SDHSTS_BLOCK_IRPT | -- SDHSTS_SDIO_IRPT | -- SDHSTS_DATA_FLAG, -- host->ioaddr + SDHSTS); -- -- if (intmask & SDHSTS_BLOCK_IRPT) { -- bcm2835_check_data_error(host, intmask); -- host->irq_block = true; -- result = IRQ_WAKE_THREAD; -+ /* Handle wait for busy end */ -+ if (host->use_busy && (intmask & SDHSTS_BUSY_IRPT)) { -+ writel(SDHSTS_BUSY_IRPT, host->ioaddr + SDHSTS); -+ host->use_busy = false; -+ bcm2835_finish_command(host); - } - -- if (intmask & SDHSTS_BUSY_IRPT) { -- if (!bcm2835_check_cmd_error(host, intmask)) { -- host->irq_busy = true; -- result = IRQ_WAKE_THREAD; -- } else { -- result = IRQ_HANDLED; -+ /* Handle PIO data transfer */ -+ if (host->data) { -+ ret = bcm2835_transfer_pio(host); -+ if (ret) -+ return ret; -+ host->blocks--; -+ if (host->blocks == 0) { -+ /* Wait for command to complete for real */ -+ ret = bcm2835_wait_transfer_complete(host); -+ if (ret) -+ return ret; -+ /* Transfer complete */ -+ host->data = NULL; - } - } - -- /* There is no true data interrupt status bit, so it is -- * necessary to qualify the data flag with the interrupt -- * enable bit. -- */ -- if ((intmask & SDHSTS_DATA_FLAG) && -- (host->hcfg & SDHCFG_DATA_IRPT_EN)) { -- bcm2835_data_irq(host, intmask); -- host->irq_data = true; -- result = IRQ_WAKE_THREAD; -- } -- -- return result; --} -- --static irqreturn_t bcm2835_threaded_irq(int irq, void *dev_id) --{ -- struct bcm2835_host *host = dev_id; -- -- if (host->irq_block) { -- host->irq_block = false; -- bcm2835_block_irq(host); -- } -- -- if (host->irq_busy) { -- host->irq_busy = false; -- bcm2835_busy_irq(host); -- } -- -- if (host->irq_data) { -- host->irq_data = false; -- bcm2835_data_threaded_irq(host); -- } -- -- return IRQ_HANDLED; --} -- --static void bcm2835_irq_poll(struct bcm2835_host *host) --{ -- u32 intmask; -- -- while (1) { -- intmask = readl(host->ioaddr + SDHSTS); -- if (intmask & (SDHSTS_BUSY_IRPT | SDHSTS_BLOCK_IRPT | -- SDHSTS_SDIO_IRPT | SDHSTS_DATA_FLAG)) { -- bcm2835_irq(0, host); -- bcm2835_threaded_irq(0, host); -- return; -- } -- } -+ return 0; - } - - static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock) -@@ -864,8 +690,11 @@ static int bcm2835_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, - } - - /* Wait for completion of busy signal or data transfer */ -- while (host->use_busy || host->data) -- bcm2835_irq_poll(host); -+ while (host->use_busy || host->data) { -+ ret = bcm2835_transmit(host); -+ if (ret) -+ break; -+ } - - return ret; - } - diff --git a/buildroot-external/bootloader/uboot.config b/buildroot-external/bootloader/uboot.config index ad5441633..37681e718 100644 --- a/buildroot-external/bootloader/uboot.config +++ b/buildroot-external/bootloader/uboot.config @@ -3,6 +3,7 @@ CONFIG_DISTRO_DEFAULTS=y # CONFIG_EXPERT is not set # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_BOOTDELAY=2 CONFIG_SYS_PROMPT="HassOS> " # CONFIG_DOS_PARTITION is not set # CONFIG_ISO_PARTITION is not set diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index f4f61a7f7..64ad4a76d 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -73,11 +73,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_0_w" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 1adc16f44..8ccef5297 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -72,11 +72,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index fdf2b4390..d4fc8afc4 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -73,11 +73,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 86b53c64b..33d1ecf37 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -73,11 +73,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 6467669f1..55d8bbe71 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -72,11 +72,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 8f814464f..f52564ec1 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -76,8 +76,6 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/tinker/uboot.config" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y BR2_TARGET_UBOOT_SPL=y @@ -86,7 +84,6 @@ BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/tinker/uboot-boot.sh" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y -BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_GPTFDISK=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y diff --git a/buildroot-external/misc/fw_env.config b/buildroot-external/misc/fw_env.config index e111c297b..0c32175e7 100644 --- a/buildroot-external/misc/fw_env.config +++ b/buildroot-external/misc/fw_env.config @@ -1 +1 @@ -/dev/disk/by-partlabel/hassos-bootstate 0x00 0x4000 +/dev/disk/by-partlabel/hassos-bootstate 0x00 0x400000 diff --git a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk index 1d631624d..9399f9f45 100644 --- a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk +++ b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk @@ -13,8 +13,8 @@ BLUETOOTH_RTL8723_SITE_METHOD = local define BLUETOOTH_RTL8723_BUILD_CMDS curl -L -o $(@D)/rtk_hciattach https://raw.githubusercontent.com/armbian/build/dee62df8bb2fe8611fd41ddf02063fa15533298c/packages/bsp/rockchip/rtk_hciattach - curl -L -o $(@D)/rtl8723b_config.bin https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_config.bin - curl -L -o $(@D)/rtl8723b_fw.bin https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_fw.bin + curl -L -o $(@D)/rtl8723b_config https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_config.bin + curl -L -o $(@D)/rtl8723b_fw https://raw.githubusercontent.com/armbian/firmware/4723bbb3d1ef70b5fbe7d2599c47d078ab125c47/rtl_bt/rtl8723b_fw.bin endef define BLUETOOTH_RTL8723_INSTALL_TARGET_CMDS @@ -24,7 +24,7 @@ define BLUETOOTH_RTL8723_INSTALL_TARGET_CMDS ln -fs /usr/lib/systemd/system/bluetooth-rtl8723.service $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants/ $(INSTALL) -d $(TARGET_DIR)/lib/firmware/rtlbt - $(INSTALL) -m 0644 $(@D)/*.bin $(TARGET_DIR)/lib/firmware/rtlbt/ + $(INSTALL) -m 0644 $(@D)/rtl8723b_* $(TARGET_DIR)/lib/firmware/rtlbt/ $(INSTALL) -m 0755 $(@D)/rtk_hciattach $(TARGET_DIR)/usr/sbin/ endef diff --git a/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch b/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch index a96fd47f4..97c0a4324 100644 --- a/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch +++ b/buildroot-external/patches/uboot/0001-CMD-read-string-from-fileinto-env.patch @@ -1,4 +1,4 @@ -From 57051bdfadcd27f405d05716c8d568b69fec575a Mon Sep 17 00:00:00 2001 +From e22e7b8bf6eca98af102dd27991c089b8f3de65b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 5 Aug 2018 20:43:03 +0000 Subject: [PATCH 1/1] CMD: read string from fileinto env @@ -7,8 +7,8 @@ Signed-off-by: Pascal Vizeli --- cmd/Kconfig | 5 +++++ cmd/Makefile | 1 + - cmd/fileenv.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 50 insertions(+) + cmd/fileenv.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 51 insertions(+) create mode 100644 cmd/fileenv.c diff --git a/cmd/Kconfig b/cmd/Kconfig @@ -41,13 +41,14 @@ index 323f1fd2c77..0d721dc5a72 100644 obj-$(CONFIG_CMD_SMC) += smccc.o diff --git a/cmd/fileenv.c b/cmd/fileenv.c new file mode 100644 -index 00000000000..ea7428723a5 +index 00000000000..ddfc5dcdbc0 --- /dev/null +++ b/cmd/fileenv.c -@@ -0,0 +1,44 @@ +@@ -0,0 +1,45 @@ +#include +#include +#include ++#include + +static char *fs_argv[5]; + @@ -69,14 +70,14 @@ index 00000000000..ea7428723a5 + size_t size = env_get_hex("filesize", 0); + + // Prepare string -+ addr[size +1] = 0x00; ++ addr[size] = 0x00; + char *s = addr; + while(*s != 0x00) { -+ if (*s == 0x0a || *s == 0x0d) { -+ *s = 0x00; ++ if (isprint(*s)) { ++ s++; + } + else { -+ s++; ++ *s = 0x00; + } + } + diff --git a/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch b/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch new file mode 100644 index 000000000..d8960fe2f --- /dev/null +++ b/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch @@ -0,0 +1,35 @@ +From d57b9c5b5b553b3caead6eb64b816f74c2e523f6 Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Tue, 7 Aug 2018 08:45:35 +0000 +Subject: [PATCH 1/1] uboot-tools: Update tools to 2018.07 + +Signed-off-by: Pascal Vizeli +--- + package/uboot-tools/uboot-tools.hash | 2 +- + package/uboot-tools/uboot-tools.mk | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/package/uboot-tools/uboot-tools.hash b/package/uboot-tools/uboot-tools.hash +index 788c1696f8..97d0bd0b5f 100644 +--- a/package/uboot-tools/uboot-tools.hash ++++ b/package/uboot-tools/uboot-tools.hash +@@ -1,2 +1,2 @@ + # Locally computed: +-sha256 7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd u-boot-2018.03.tar.bz2 ++sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 +diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk +index 882576d2d5..f5027d2da3 100644 +--- a/package/uboot-tools/uboot-tools.mk ++++ b/package/uboot-tools/uboot-tools.mk +@@ -4,7 +4,7 @@ + # + ################################################################################ + +-UBOOT_TOOLS_VERSION = 2018.03 ++UBOOT_TOOLS_VERSION = 2018.07 + UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 + UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot + UBOOT_TOOLS_LICENSE = GPL-2.0+ +-- +2.17.1 + diff --git a/buildroot/CHANGES b/buildroot/CHANGES index baa85622a..d41642b03 100644 --- a/buildroot/CHANGES +++ b/buildroot/CHANGES @@ -1,3 +1,35 @@ +2018.05.1, Released July 20th, 2018 + + Important / security related fixes. + + U-Boot: Ensure host version of ncurses is picked up and not + host-ncurses built by buildroot, as that otherwise causes + widechar/non-widechar conflicts and corrupted menuconfig + menus. + + Linux: Enable CONFIG_PERF_EVENTS when perf is enabled. + + Toolchain: ARC tools updated to arc-2018.03. + + pkg-stats: Fix python 3.x compatibility. + + dl-wrapper: Fix support for URIs containing '+', fix + no-check-hash for inferred site method. + + Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max: + Support ethernet on Turbot variant. + + Updated/fixed packages: audit, bind, btrfs-progs, cifs-utils, + clamav, collectd, coreutils, docker-containerd, dos2unix, + edid-decode, file, gcc, gdb, gnupg, gnupg2, heimdal, hidapi, + imagemagick, libcurl, libgcrypt, libglib2, liblogging, + libostree, libressl, libsoup, libv4l, libvncserver, libvorbis, + libwebsockets, libxslt, lm-sensors, mariadb, mpg123, ncurses, + network-manager, nodejs, patchelf, perl, php-amqp, pinentry, + pixiewps, qpdf, qt53d, qt5base, qt5charts, qt5script, redis, + systemd, triggerhappy, uboot, wireguard, wireless-regdb, + wireshark + 2018.05, Released June 1st, 2018 Minor fixes. diff --git a/buildroot/Makefile b/buildroot/Makefile index 9f32c9600..b4cc8956c 100644 --- a/buildroot/Makefile +++ b/buildroot/Makefile @@ -87,9 +87,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2018.05 +export BR2_VERSION := 2018.05.1 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1527884000 +BR2_VERSION_EPOCH = 1532040000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) diff --git a/buildroot/board/minnowboard/linux.config b/buildroot/board/minnowboard/linux.config index 03ffc5e37..27077dbcd 100644 --- a/buildroot/board/minnowboard/linux.config +++ b/buildroot/board/minnowboard/linux.config @@ -21,6 +21,7 @@ CONFIG_SATA_AHCI=y CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_R8169=y +CONFIG_IGB=y CONFIG_INPUT_EVDEV=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y diff --git a/buildroot/boot/uboot/uboot.mk b/buildroot/boot/uboot/uboot.mk index 03bd7ea74..6ef275e84 100644 --- a/buildroot/boot/uboot/uboot.mk +++ b/buildroot/boot/uboot/uboot.mk @@ -211,7 +211,15 @@ endif # BR2_TARGET_UBOOT_USE_DEFCONFIG UBOOT_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES)) UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) + +# UBOOT_MAKE_OPTS overrides HOSTCC / HOSTLDFLAGS to allow the build to +# find our host-openssl. However, this triggers a bug in the kconfig +# build script that causes it to build with /usr/include/ncurses.h +# (which is typically wchar) but link with +# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually +# need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS +# override again. +UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS="" define UBOOT_HELP_CMDS @echo ' uboot-menuconfig - Run U-Boot menuconfig' @echo ' uboot-savedefconfig - Run U-Boot savedefconfig' diff --git a/buildroot/configs/raspberrypi3_defconfig b/buildroot/configs/raspberrypi3_defconfig index 45a76beb6..b55233a20 100644 --- a/buildroot/configs/raspberrypi3_defconfig +++ b/buildroot/configs/raspberrypi3_defconfig @@ -28,6 +28,7 @@ BR2_PACKAGE_HOST_MTOOLS=y # Filesystem / image BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" diff --git a/buildroot/configs/snps_archs38_hsdk_defconfig b/buildroot/configs/snps_archs38_hsdk_defconfig index 125063b44..415759ac3 100644 --- a/buildroot/configs/snps_archs38_hsdk_defconfig +++ b/buildroot/configs/snps_archs38_hsdk_defconfig @@ -13,7 +13,7 @@ BR2_SYSTEM_DHCP="eth0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.47" BR2_LINUX_KERNEL_DEFCONFIG="hsdk" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/synopsys/hsdk/linux.fragment" diff --git a/buildroot/docs/manual/adding-packages-perl.txt b/buildroot/docs/manual/adding-packages-perl.txt index 08ef55920..eb14d9de1 100644 --- a/buildroot/docs/manual/adding-packages-perl.txt +++ b/buildroot/docs/manual/adding-packages-perl.txt @@ -46,7 +46,7 @@ built. Most of these data can be retrieved from https://metacpan.org/. So, this file and the Config.in can be generated by running -the script +supports/scripts/scancpan Foo-Bar+ in the Buildroot directory +the script +utils/scancpan Foo-Bar+ in the Buildroot directory (or in a br2-external tree). This script creates a Config.in file and foo-bar.mk file for the requested package, and also recursively for all dependencies specified by diff --git a/buildroot/docs/manual/manual.html b/buildroot/docs/manual/manual.html index ac4123f4c..a9b8eaa0a 100644 --- a/buildroot/docs/manual/manual.html +++ b/buildroot/docs/manual/manual.html @@ -1,6 +1,6 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Integration of Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2018.05 manual generated on 2018-06-01 -20:24:12 UTC from git revision f3d114a1ef

The Buildroot manual is written by the Buildroot developers. +The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Integration of Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2018.05.1 manual generated on 2018-07-19 +22:46:12 UTC from git revision ef26ffddde

The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the COPYING file in the Buildroot sources for the full text of this license.

Copyright © 2004-2018 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of @@ -16,8 +16,8 @@ processors everyone is used to having in his PC. They can be PowerPC processors, MIPS processors, ARM processors, etc.

Buildroot supports numerous processors and their variants; it also comes with default configurations for several boards available off-the-shelf. Besides this, a number of third-party projects are based on, -or develop their BSP [1] or -SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the +or develop their BSP [1] or +SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the compilation, certain standard Linux utilities are expected to be already installed on the host system. Below you will find an overview of the mandatory and optional packages (note that package names may vary @@ -272,7 +272,7 @@ processor. Under most Linux systems, the compilation toolchain uses the GNU libc (glibc) as the C standard library. This compilation toolchain is called the "host compilation toolchain". The machine on which it is running, and on which you’re working, is called the "host -system" [3].

The compilation toolchain is provided by your distribution, and +system" [3].

The compilation toolchain is provided by your distribution, and Buildroot has nothing to do with it (other than using it to build a cross-compilation toolchain and other tools that are run on the development host).

As said above, the compilation toolchain that comes with your system @@ -547,7 +547,7 @@ The third solution is systemd. http://www.freedesktop.org/wiki/Software/systemd.

The solution recommended by Buildroot developers is to use the BusyBox init as it is sufficient for most embedded -systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU +systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU configure, where the host is the machine on which the application will run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you have already configured Buildroot itself, and have enabled the @@ -2640,7 +2640,7 @@ flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) of the shell script(s) needing fixing. All these names are relative to $(STAGING_DIR)/usr/bin and if needed multiple names can be given.

In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed -from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: +from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: $(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config

So it’s fixup would be:

IMAGEMAGICK_CONFIG_SCRIPTS = \
    Magick-config Magick++-config \
    MagickCore-config MagickWand-config Wand-config

On line 14, we specify the list of dependencies this package relies @@ -3533,7 +3533,7 @@ license on line 11, and the file containing the license text on line generates all the Makefile rules that actually allow the package to be built.

Most of these data can be retrieved from https://metacpan.org/. So, this file and the Config.in can be generated by running -the script supports/scripts/scancpan Foo-Bar in the Buildroot directory +the script utils/scancpan Foo-Bar in the Buildroot directory (or in a br2-external tree). This script creates a Config.in file and foo-bar.mk file for the requested package, and also recursively for all dependencies specified by @@ -4902,7 +4902,7 @@ large number of commits in the series;

  • deep impact of the changes in the rest of the project;
  • -RFC [4]; +RFC [4];
  • whenever you feel it will help presenting your work, your choices, the review process, etc. @@ -4984,7 +4984,7 @@ pastebin service. Note that not all available pastebin services will preserve Unix-style line terminators when downloading raw pastes. Following pastebin services are known to work correctly: - https://gist.github.com/ -- http://code.bulix.org/



  • [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that +- http://code.bulix.org/



    [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that lists the developers involved with various areas of Buildroot. Thanks to this file, the get-developer tool allows to: