uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,52 @@
This patch does two things:
1) Drops probe-bcache, so now new util-linux detecting functionality is used.
2) Drops bcache-register, using kmod (built in udev) and moving registering device
into rule using 'sh'.
This reduces things that need to be present in initrd, replacing them with already
existing functionality and reducing overall initrd size.
diff --git a/69-bcache.rules b/69-bcache.rules
index 5d28e70..6a52893 100644
--- a/69-bcache.rules
+++ b/69-bcache.rules
@@ -10,15 +10,11 @@ KERNEL=="fd*|sr*", GOTO="bcache_end"
# It recognised bcache (util-linux 2.24+)
ENV{ID_FS_TYPE}=="bcache", GOTO="bcache_backing_found"
# It recognised something else; bail
-ENV{ID_FS_TYPE}=="?*", GOTO="bcache_backing_end"
-
-# Backing devices: scan, symlink, register
-IMPORT{program}="probe-bcache -o udev $tempnode"
-ENV{ID_FS_TYPE}!="bcache", GOTO="bcache_backing_end"
-ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+GOTO="bcache_backing_end"
LABEL="bcache_backing_found"
-RUN+="bcache-register $tempnode"
+RUN{builtin}+="kmod load bcache"
+RUN+="/bin/sh -c 'echo $tempnode > /sys/fs/bcache/register_quiet'"
LABEL="bcache_backing_end"
# Cached devices: symlink
diff --git a/Makefile b/Makefile
index 3f8d87b..15638a7 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ all: make-bcache probe-bcache bcache-super-show
install: make-bcache probe-bcache bcache-super-show
$(INSTALL) -m0755 make-bcache bcache-super-show $(DESTDIR)${PREFIX}/sbin/
- $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/
+# $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/
$(INSTALL) -m0644 69-bcache.rules $(DESTDIR)$(UDEVLIBDIR)/rules.d/
$(INSTALL) -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/
$(INSTALL) -D -m0755 initramfs/hook $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache
diff --git a/bcache-register b/bcache-register
index 9b592bc..75b4faf 100755
--- a/bcache-register
+++ b/bcache-register
@@ -1,4 +1,3 @@
#!/bin/sh
-/sbin/modprobe -qba bcache
test -f /sys/fs/bcache/register_quiet && echo "$1" > /sys/fs/bcache/register_quiet

View file

@ -0,0 +1,63 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, util-linux, bash }:
stdenv.mkDerivation rec {
pname = "bcache-tools";
version = "1.0.7";
src = fetchFromGitHub {
owner = "g2p";
repo = "bcache-tools";
rev = "v${version}";
hash = "sha256-Ors2xXRrVTf8Cq3BYnSVSfJy/nyGjT5BGLSNpxOcHR4=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ util-linux ];
# * Remove broken install rules (they ignore $PREFIX) for stuff we don't need
# anyway (it's distro specific stuff).
# * Fixup absolute path to modprobe.
prePatch = ''
sed -e "/INSTALL.*initramfs\/hook/d" \
-e "/INSTALL.*initcpio\/install/d" \
-e "/INSTALL.*dracut\/module-setup.sh/d" \
-e "s/pkg-config/$PKG_CONFIG/" \
-i Makefile
'';
patches = [
./bcache-udev-modern.patch
./fix-static.patch
];
makeFlags = [
"PREFIX=${placeholder "out"}"
"UDEVLIBDIR=${placeholder "out"}/lib/udev/"
];
preBuild = ''
sed -e "s|/bin/sh|${bash}/bin/sh|" -i *.rules
'';
preInstall = ''
mkdir -p "$out/sbin" "$out/lib/udev/rules.d" "$out/share/man/man8"
'';
meta = with lib; {
description = "User-space tools required for bcache (Linux block layer cache)";
longDescription = ''
Bcache is a Linux kernel block layer cache. It allows one or more fast
disk drives such as flash-based solid state drives (SSDs) to act as a
cache for one or more slower hard disk drives.
This package contains the required user-space tools.
User documentation is in Documentation/bcache.txt in the Linux kernel
tree.
'';
homepage = "https://bcache.evilpiepirate.org/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View file

@ -0,0 +1,22 @@
diff --git a/bcache.c b/bcache.c
index 8f37445..79806d8 100644
--- a/bcache.c
+++ b/bcache.c
@@ -26,7 +26,7 @@
* x^7 + x^4 + x + 1
*/
-static const uint64_t crc_table[256] = {
+const uint64_t crc_table[256] = {
0x0000000000000000ULL, 0x42F0E1EBA9EA3693ULL, 0x85E1C3D753D46D26ULL,
0xC711223CFA3E5BB5ULL, 0x493366450E42ECDFULL, 0x0BC387AEA7A8DA4CULL,
0xCCD2A5925D9681F9ULL, 0x8E224479F47CB76AULL, 0x9266CC8A1C85D9BEULL,
@@ -115,7 +115,7 @@ static const uint64_t crc_table[256] = {
0x9AFCE626CE85B507ULL
};
-inline uint64_t crc64(const void *_data, size_t len)
+uint64_t crc64(const void *_data, size_t len)
{
uint64_t crc = 0xFFFFFFFFFFFFFFFFULL;
const unsigned char *data = _data;