@@ -1,33 +1,33 | |||||
1 | # |
|
1 | # | |
2 | # Setup videocore - Raspberry Userland |
|
2 | # Setup videocore - Raspberry Userland | |
3 | # |
|
3 | # | |
4 |
|
4 | |||
5 | # Load utility functions |
|
5 | # Load utility functions | |
6 | . ./functions.sh |
|
6 | . ./functions.sh | |
7 |
|
7 | |||
8 | if [ "$ENABLE_VIDEOCORE" = true ] ; then |
|
8 | if [ "$ENABLE_VIDEOCORE" = true ] ; then | |
9 | # Copy existing videocore sources into chroot directory |
|
9 | # Copy existing videocore sources into chroot directory | |
10 | if [ -n "$VIDEOCORESRC_DIR" ] && [ -d "$VIDEOCORESRC_DIR" ] ; then |
|
10 | if [ -n "$VIDEOCORESRC_DIR" ] && [ -d "$VIDEOCORESRC_DIR" ] ; then | |
11 | # Copy local U-Boot sources |
|
11 | # Copy local U-Boot sources | |
12 | cp -r "${VIDEOCORESRC_DIR}" "${R}/tmp" |
|
12 | cp -r "${VIDEOCORESRC_DIR}" "${R}/tmp" | |
13 | else |
|
13 | else | |
14 | # Create temporary directory for U-Boot sources |
|
14 | # Create temporary directory for U-Boot sources | |
15 | temp_dir=$(as_nobody mktemp -d) |
|
15 | temp_dir=$(as_nobody mktemp -d) | |
16 |
|
16 | |||
17 | # Fetch U-Boot sources |
|
17 | # Fetch U-Boot sources | |
18 | as_nobody git -C "${temp_dir}" clone "${VIDEOCORE_URL}" |
|
18 | as_nobody git -C "${temp_dir}" clone "${VIDEOCORE_URL}" | |
19 |
|
19 | |||
20 | # Copy downloaded U-Boot sources |
|
20 | # Copy downloaded U-Boot sources | |
21 | mv "${temp_dir}/userland" "${R}/tmp/" |
|
21 | mv "${temp_dir}/userland" "${R}/tmp/" | |
22 |
|
22 | |||
23 | # Set permissions of the U-Boot sources |
|
23 | # Set permissions of the U-Boot sources | |
24 | chown -R root:root "${R}/tmp/userland" |
|
24 | chown -R root:root "${R}/tmp/userland" | |
25 |
|
25 | |||
26 | # Remove temporary directory for U-Boot sources |
|
26 | # Remove temporary directory for U-Boot sources | |
27 | rm -fr "${temp_dir}" |
|
27 | rm -fr "${temp_dir}" | |
28 | fi |
|
28 | fi | |
29 |
|
29 | |||
30 | cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_BUILD_TYPE=release -DARM64=ON -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_ASM_COMPILER=aarch64-linux-gnu-gcc -DVIDEOCORE_BUILD_DIR="${R}"/opt/vc |
|
30 | cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_BUILD_TYPE=release -DARM64=ON -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_ASM_COMPILER=aarch64-linux-gnu-gcc -DVIDEOCORE_BUILD_DIR="${R}"/opt/vc | |
31 | make -j "$(nproc)" |
|
31 | make -j "$(nproc)" | |
32 | chroot_exec PATH="${PATH}":/opt/vc/bin |
|
32 | chroot_exec PATH="${PATH}":/opt/vc/bin | |
33 | fi |
|
33 | fi |
@@ -66,6 +66,20 if [ "$ENABLE_UBOOT" = true ] ; then | |||||
66 | fi |
|
66 | fi | |
67 | fi |
|
67 | fi | |
68 |
|
68 | |||
|
69 | if [ "$SET_ARCH" = 64 ] ; then | |||
|
70 | echo "Setting up config.txt to boot 64bit uboot" | |||
|
71 | ||||
|
72 | printf "\n# 64bit-mode" >> "${BOOT_DIR}/config.txt" | |||
|
73 | printf "\n# arm_control=0x200 is deprecated https://www.raspberrypi.org/documentation/configuration/config-txt/misc.md" >> "${BOOT_DIR}/config.txt" | |||
|
74 | printf "\narm_64bit=1" >> "${BOOT_DIR}/config.txt" | |||
|
75 | sed -i "s|bootz|booti|g" "${BOOT_DIR}/uboot.mkimage" | |||
|
76 | fi | |||
|
77 | ||||
|
78 | # instead of sd, boot from usb device | |||
|
79 | if [ "$ENABLE_UBOOTUSB" = true ] ; then | |||
|
80 | sed -i "s|mmc|usb|g" "${BOOT_DIR}/uboot.mkimage" | |||
|
81 | fi | |||
|
82 | ||||
69 | # Set mkfile to use the correct dtb file |
|
83 | # Set mkfile to use the correct dtb file | |
70 | sed -i "s/^\(setenv dtbfile \).*/\1${DTB_FILE}/" "${BOOT_DIR}/uboot.mkimage" |
|
84 | sed -i "s/^\(setenv dtbfile \).*/\1${DTB_FILE}/" "${BOOT_DIR}/uboot.mkimage" | |
71 |
|
85 |
General Comments 0
Vous devez vous connecter pour laisser un commentaire.
Se connecter maintenant