Skip to content

Commit

Permalink
Reduce the size of the CMA to 16MB
Browse files Browse the repository at this point in the history
Include the tiny fixMACaddress script in the S0 image
to assign end0 MAC address from CPU serial #
in case running U-Boot earlier than 2024.10
  • Loading branch information
brentr committed Nov 28, 2024
1 parent 9e6ef2c commit 37b51aa
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
18 changes: 17 additions & 1 deletion config/boards/rock-s0.conf
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,21 @@ function post_family_config__rocks0() {
declare -g BOOTDIR="u-boot-${BOARD}"
declare -g BOOTSCRIPT=boot-rockchip64-ttyS0.cmd:boot.cmd

unset family_tweaks_bsp # disable from rockchip64_common
family_tweaks_bsp() { #overrides rockchip64_common.inc
#Install udev script that derives fixed, unique MAC addresses for net interfaces
#that are assigned random ones
bsp=$SRC/packages/bsp/rockpis
rules=etc/udev/rules.d

install -m 755 $bsp/lib/udev/fixEtherAddr $destination/lib/udev
}
}

function pre_install_kernel_debs__enforce_cma() {
# Set CMA to 16 megabytes, to provide more usable RAM since Rock Pi S
# has usually a small amount of DRAM (512MB)
display_alert "$BOARD" "set CMA size to 16MB due to small DRAM size"
run_host_command_logged echo "extraargs=cma=16M" ">>" "${SDCARD}"/boot/armbianEnv.txt

return 0
}
13 changes: 10 additions & 3 deletions packages/bsp/rockpis/etc/udev/rules.d/05-fixMACaddress.rules
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
#If a network interface is being assigned a new, different address on each boot,
#enable the corresponding line below to derive its MAC addr from UUID of rootfs
#Beware that all the two digit hex code prefixes below must be unique!
#If a network interface is being assigned a different MAC address on each boot,
#or the MAC address is based on a disk image (rather than a hardware serial #),
#enable the corresponding line below to derive that interface's MAC address from
#the RK3308 SOC's unique serial number.

#All the two digit hex code prefixes passed to fixEtherAddr should be unique
#and chosen such that (n-2)%4 == 0

KERNEL=="wlan0", ACTION=="add" RUN+="fixEtherAddr %k 0a"
KERNEL=="p2p0", ACTION=="add" RUN+="fixEtherAddr %k 0e"

#U-Boot >=V2024.10 sets the built-in Ethernet MAC adr from the SOC serial number
#KERNEL=="end0", ACTION=="add" RUN+="fixEtherAddr %k 06"

0 comments on commit 37b51aa

Please sign in to comment.