mirror of
https://github.com/linuxboot/heads.git
synced 2025-01-30 08:03:55 +00:00
enable flashrom and pciutils to allow the boot ROM to be re-written (issue #17)
This commit is contained in:
parent
9666f52e44
commit
9feb094701
3
Makefile
3
Makefile
@ -231,7 +231,8 @@ endef
|
|||||||
|
|
||||||
$(foreach _, $(call bins,kexec), $(eval $(call initrd_bin_add,$_)))
|
$(foreach _, $(call bins,kexec), $(eval $(call initrd_bin_add,$_)))
|
||||||
$(foreach _, $(call bins,tpmtotp), $(eval $(call initrd_bin_add,$_)))
|
$(foreach _, $(call bins,tpmtotp), $(eval $(call initrd_bin_add,$_)))
|
||||||
$(foreach _, $(call bins,bioswrite), $(eval $(call initrd_bin_add,$_)))
|
$(foreach _, $(call bins,pciutils), $(eval $(call initrd_bin_add,$_)))
|
||||||
|
$(foreach _, $(call bins,flashrom), $(eval $(call initrd_bin_add,$_)))
|
||||||
$(foreach _, $(call bins,cryptsetup), $(eval $(call initrd_bin_add,$_)))
|
$(foreach _, $(call bins,cryptsetup), $(eval $(call initrd_bin_add,$_)))
|
||||||
$(foreach _, $(call bins,gpg), $(eval $(call initrd_bin_add,$_)))
|
$(foreach _, $(call bins,gpg), $(eval $(call initrd_bin_add,$_)))
|
||||||
$(foreach _, $(call bins,lvm2), $(eval $(call initrd_bin_add,$_)))
|
$(foreach _, $(call bins,lvm2), $(eval $(call initrd_bin_add,$_)))
|
||||||
|
@ -617,7 +617,7 @@ CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
|
|||||||
# CONFIG_IPCRM is not set
|
# CONFIG_IPCRM is not set
|
||||||
# CONFIG_IPCS is not set
|
# CONFIG_IPCS is not set
|
||||||
CONFIG_LOSETUP=y
|
CONFIG_LOSETUP=y
|
||||||
CONFIG_LSPCI=y
|
# CONFIG_LSPCI is not set
|
||||||
CONFIG_LSUSB=y
|
CONFIG_LSUSB=y
|
||||||
# CONFIG_MKSWAP is not set
|
# CONFIG_MKSWAP is not set
|
||||||
# CONFIG_FEATURE_MKSWAP_UUID is not set
|
# CONFIG_FEATURE_MKSWAP_UUID is not set
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
modules += bioswrite
|
|
||||||
|
|
||||||
bioswrite_depends := $(musl_dep)
|
|
||||||
|
|
||||||
bioswrite_version := git
|
|
||||||
bioswrite_repo := https://github.com/osresearch/bioswrite
|
|
||||||
|
|
||||||
#bioswrite_version := 0.2.1
|
|
||||||
bioswrite_dir := bioswrite-$(bioswrite_version)
|
|
||||||
bioswrite_tar := bioswrite-$(bioswrite_version).tar.gz
|
|
||||||
bioswrite_url := https://github.com/osresearch/bioswrite/archive/v$(bioswrite_version).tar.gz
|
|
||||||
bioswrite_hash := e8205aa3d19e536080f5974ed06ab9a88c4c3f37870c2f6a3a08a2f39302c22c
|
|
||||||
|
|
||||||
bioswrite_target := \
|
|
||||||
CC="$(heads_cc)" \
|
|
||||||
|
|
||||||
bioswrite_output := \
|
|
||||||
bioswrite \
|
|
||||||
|
|
||||||
bioswrite_configure :=
|
|
24
modules/flashrom
Normal file
24
modules/flashrom
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
modules += flashrom
|
||||||
|
|
||||||
|
flashrom_depends := pciutils $(musl_dep)
|
||||||
|
|
||||||
|
#flashrom_version := git
|
||||||
|
#flashrom_repo := https://github.com/osresearch/flashrom
|
||||||
|
|
||||||
|
flashrom_version := 0.9.9
|
||||||
|
flashrom_dir := flashrom-$(flashrom_version)
|
||||||
|
flashrom_tar := flashrom-$(flashrom_version).tar.bz2
|
||||||
|
flashrom_url := http://download.flashrom.org/releases/$(flashrom_tar)
|
||||||
|
flashrom_hash := cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45
|
||||||
|
|
||||||
|
flashrom_target := \
|
||||||
|
CC="$(heads_cc)" \
|
||||||
|
CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no \
|
||||||
|
CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no \
|
||||||
|
|
||||||
|
flashrom_output := \
|
||||||
|
flashrom
|
||||||
|
|
||||||
|
flashrom_libraries := \
|
||||||
|
|
||||||
|
flashrom_configure :=
|
30
modules/pciutils
Normal file
30
modules/pciutils
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
modules += pciutils
|
||||||
|
|
||||||
|
pciutils_depends := $(musl_dep)
|
||||||
|
|
||||||
|
#pciutils_version := git
|
||||||
|
#pciutils_repo := https://github.com/osresearch/pciutils
|
||||||
|
|
||||||
|
pciutils_version := 3.5.4
|
||||||
|
pciutils_dir := pciutils-$(pciutils_version)
|
||||||
|
pciutils_tar := pciutils-$(pciutils_version).tar.xz
|
||||||
|
pciutils_url := https://www.kernel.org/pub/software/utils/pciutils/$(pciutils_tar)
|
||||||
|
pciutils_hash := 64293c6ab9318c40ef262b76d87bd9097531759752bac556e50979b1e63cfe66
|
||||||
|
|
||||||
|
pciutils_target := \
|
||||||
|
$(MAKE_JOBS) \
|
||||||
|
CC="$(heads_cc)" \
|
||||||
|
ZLIB=no \
|
||||||
|
HWDB=no \
|
||||||
|
SHARED=yes \
|
||||||
|
PREFIX=$(INSTALL) \
|
||||||
|
install \
|
||||||
|
install-lib \
|
||||||
|
|
||||||
|
pciutils_output := \
|
||||||
|
lspci \
|
||||||
|
|
||||||
|
pciutils_libraries := \
|
||||||
|
../../install/lib/libpci.so.3 \
|
||||||
|
|
||||||
|
pciutils_configure :=
|
33
patches/flashrom-0.9.9.patch
Normal file
33
patches/flashrom-0.9.9.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
diff -u --recursive ../clean/flashrom-0.9.9/spi.c flashrom-0.9.9/spi.c
|
||||||
|
--- ../clean/flashrom-0.9.9/spi.c 2014-07-19 18:03:29.000000000 -0400
|
||||||
|
+++ flashrom-0.9.9/spi.c 2017-03-30 13:50:15.007897599 -0400
|
||||||
|
@@ -100,6 +100,20 @@
|
||||||
|
return spi_write_chunked(flash, buf, start, len, max_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static int my_ffs(int x)
|
||||||
|
+{
|
||||||
|
+ int rc = 0;
|
||||||
|
+ while(x)
|
||||||
|
+ {
|
||||||
|
+ if (x & 1)
|
||||||
|
+ return rc;
|
||||||
|
+ rc++;
|
||||||
|
+ x >>= 1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int spi_chip_read(struct flashctx *flash, uint8_t *buf, unsigned int start,
|
||||||
|
unsigned int len)
|
||||||
|
{
|
||||||
|
@@ -119,7 +133,7 @@
|
||||||
|
/* Check if alignment is native (at least the largest power of two which
|
||||||
|
* is a factor of the mapped size of the chip).
|
||||||
|
*/
|
||||||
|
- if (ffs(flash->chip->total_size * 1024) > (ffs(addrbase) ? : 33)) {
|
||||||
|
+ if (my_ffs(flash->chip->total_size * 1024) > (my_ffs(addrbase) ? : 33)) {
|
||||||
|
msg_perr("Flash chip is not aligned natively in the allowed "
|
||||||
|
"access window.\n");
|
||||||
|
msg_perr("Read will probably return garbage.\n");
|
Loading…
x
Reference in New Issue
Block a user