summaryrefslogtreecommitdiff
path: root/libre/grub/0003-10_linux-20_linux_xen-detect-am335x_bone+am335x_boneblack-devicetree-file.patch
blob: b620a39d03a992758027db24520740bc93e8cd0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
--- a/util/grub.d/10_linux.in	2015-10-16 08:28:56.901970897 -0300
+++ b/util/grub.d/10_linux.in	2015-10-16 08:30:45.112786124 -0300
@@ -139,6 +139,25 @@
 	initrd	${rel_dirname}/${initrd}
 EOF
   fi
+  if [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BONE' ]; then
+    if test -f "${rel_dirname}/dtbs/${version}/am335x-bone.dtb" ; then
+    # TRANSLATORS: Device tree path isn't identifier. Should be translated.
+    message="$(gettext_printf "Loading devices tree file ...")"
+    sed "s/^/$submenu_indentation/" << EOF
+	echo	'$(echo "$message" | grub_quote)'
+	devicetree	${rel_dirname}/dtbs/${version}/am335x-bone.dtb
+EOF
+    fi
+  elif [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BNLT' ]; then
+    if test -f "${rel_dirname}/dtbs/${version}/am335x-boneblack.dtb" ; then
+    # TRANSLATORS: Device tree path isn't identifier. Should be translated.
+    message="$(gettext_printf "Loading devices tree file ...")"
+    sed "s/^/$submenu_indentation/" << EOF
+	echo	'$(echo "$message" | grub_quote)'
+	devicetree	${rel_dirname}/dtbs/${version}/am335x-boneblack.dtb
+EOF
+    fi
+  fi
   sed "s/^/$submenu_indentation/" << EOF
 }
 EOF
@@ -222,6 +241,16 @@
     linux_root_device_thisversion=${GRUB_DEVICE}
   fi
 
+  if [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BONE' ]; then
+    if test -f "${dirname}/dtbs/${version}/am335x-bone.dtb" ; then
+      gettext_printf "Found device tree file: %s\n" "${dirname}/dtbs/${version}/am335x-bone.dtb" >&2
+    fi
+  elif [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BNLT' ]; then
+    if test -f "${dirname}/dtbs/${version}/am335x-boneblack.dtb" ; then
+      gettext_printf "Found device tree file: %s\n" "${dirname}/dtbs/${version}/am335x-boneblack.dtb" >&2
+    fi
+  fi
+
   if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
     linux_entry "${OS}" "${version}" simple \
     "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
diff -Nur a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
--- a/util/grub.d/20_linux_xen.in	2015-10-16 08:28:56.901970897 -0300
+++ b/util/grub.d/20_linux_xen.in	2015-10-16 08:31:03.152921373 -0300
@@ -132,6 +132,25 @@
 	module	--nounzip   ${rel_dirname}/${initrd}
 EOF
   fi
+  if [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BONE' ]; then
+    if test -f "${rel_dirname}/dtbs/${version}/am335x-bone.dtb" ; then
+    # TRANSLATORS: Device tree path isn't identifier. Should be translated.
+    message="$(gettext_printf "Loading devices tree file ...")"
+    sed "s/^/$submenu_indentation/" << EOF
+	echo	'$(echo "$message" | grub_quote)'
+	devicetree	${rel_dirname}/dtbs/${version}/am335x-bone.dtb
+EOF
+    fi
+  elif [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BNLT' ]; then
+    if test -f "${rel_dirname}/dtbs/${version}/am335x-boneblack.dtb" ; then
+    # TRANSLATORS: Device tree path isn't identifier. Should be translated.
+    message="$(gettext_printf "Loading devices tree file ...")"
+    sed "s/^/$submenu_indentation/" << EOF
+	echo	'$(echo "$message" | grub_quote)'
+	devicetree	${rel_dirname}/dtbs/${version}/am335x-boneblack.dtb
+EOF
+    fi
+  fi
   sed "s/^/$submenu_indentation/" << EOF
 }
 EOF
@@ -235,6 +254,16 @@
 	    linux_root_device_thisversion=${GRUB_DEVICE}
 	fi
 
+  if [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BONE' ]; then
+    if test -f "${dirname}/dtbs/${version}/am335x-bone.dtb" ; then
+      gettext_printf "Found device tree file: %s\n" "${dirname}/dtbs/${version}/am335x-bone.dtb" >&2
+    fi
+  elif [ "$(cat /sys/devices/platform/bone_capemgr/baseboard/board-name)" = 'A335BNLT' ]; then
+    if test -f "${dirname}/dtbs/${version}/am335x-boneblack.dtb" ; then
+      gettext_printf "Found device tree file: %s\n" "${dirname}/dtbs/${version}/am335x-boneblack.dtb" >&2
+    fi
+  fi
+
 	if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
 	    linux_entry "${OS}" "${version}" "${xen_version}" simple \
 		"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"