forked from armbian/build
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new TVBox aml-c400-plus: Magicsee C400 Plus
- Loading branch information
1 parent
500448d
commit 81e8382
Showing
8 changed files
with
266 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Amlogic S912 octa core 3Gb RAM SoC eMMC | ||
BOARD_NAME="Magicsee C400 Plus" | ||
BOARDFAMILY="meson-gxl" | ||
BOARD_MAINTAINER="jomadeto" | ||
BOOTSIZE="512" | ||
BOOTFS_TYPE="fat" | ||
KERNEL_TARGET="current,edge" | ||
MODULES_BLACKLIST="simpledrm" # SimpleDRM conflicts with Panfrost | ||
KERNEL_TEST_TARGET="current" | ||
SERIALCON="ttyAML0" | ||
FULL_DESKTOP="yes" | ||
ASOUND_STATE="asound.state.mesongx" | ||
BOOT_FDT_FILE="amlogic/meson-gxm-c400-plus.dtb" | ||
BOOT_LOGO="desktop" | ||
SRC_EXTLINUX="no" | ||
SRC_CMDLINE='rootflags=data=writeback console=ttyAML0,115200n8 console=tty0' | ||
|
||
function post_family_config__uboot_aml-c400-plus() { | ||
# This board type relies on the vendor installed u-boot on emmc to boot | ||
display_alert "$BOARD" "Configuring ($BOARD) non-u-boot" "info" | ||
unset BOOTSOURCE | ||
declare -g BOOTCONFIG='none' | ||
} | ||
|
||
function post_family_tweaks_bsp__config_aml-c400-plus_bsp() { | ||
: "${destination:?destination is not set}" | ||
|
||
# Important: this board has board-specific bsp-cli files in config/optional/boards/aml-c400-plus/_packages/bsp-cli | ||
# that path is hashed by the bsp-cli hashing function automatically | ||
display_alert "${BOARD}" "Adjusting perms of bsp-cli files for ${BOARD} in /root" "info" | ||
run_host_command_logged chmod -v 744 "${destination}"/root/install-aml.sh | ||
run_host_command_logged chmod -v 644 "${destination}"/root/fstab.template | ||
|
||
display_alert "${BOARD}" "Removing armbian-install" "info" | ||
run_host_command_logged rm -v "${destination}"/usr/bin/armbian-install | ||
|
||
display_alert "${BOARD}" "Adding bsp-cli preinst logic" "info" | ||
# Inline function! So this function is automatically hashed when this hook is hashed. | ||
function aml-c400-plus-bsp-cli-preinst() { | ||
#update of the board bsp-cli package fails because the filesystem type is | ||
#fat and dpkg tries to create a hard link for the existing files as backup | ||
#so rm the files instead in a preinst step | ||
[ -f /boot/armbianEnv.txt ] && rm /boot/armbianEnv.txt | ||
[ -f /boot/aml_autoscript ] && rm /boot/aml_autoscript | ||
[ -f /boot/emmc_autoscript ] && rm /boot/emmc_autoscript | ||
return 0 # short-circuits above, avoid errors | ||
} | ||
preinst_functions+=('aml-c400-plus-bsp-cli-preinst') | ||
if false; then aml-c400-plus-bsp-cli-preinst; fi # so shellcheck stops complaining the function is unused. sorry | ||
|
||
} |
5 changes: 5 additions & 0 deletions
5
config/optional/boards/aml-c400-plus/_packages/bsp-cli/boot/armbianEnv.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
extraargs=earlycon rootflags=data=writeback rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 | ||
bootlogo=false | ||
verbosity=7 | ||
console=both | ||
fdtfile=amlogic/meson-gxm-c400-plus.dtb |
Binary file added
BIN
+3.42 KB
config/optional/boards/aml-c400-plus/_packages/bsp-cli/boot/emmc_autoscript
Binary file not shown.
Binary file added
BIN
+3.42 KB
config/optional/boards/aml-c400-plus/_packages/bsp-cli/boot/s905_autoscript
Binary file not shown.
7 changes: 7 additions & 0 deletions
7
config/optional/boards/aml-c400-plus/_packages/bsp-cli/root/fstab.template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#/var/swap none swap sw 0 0 | ||
#/dev/root / auto noatime,errors=remount-ro 0 1 | ||
#proc /proc proc defaults 0 0 | ||
|
||
/dev/root / ext4 defaults,noatime,errors=remount-ro 0 1 | ||
tmpfs /tmp tmpfs defaults,nosuid 0 0 | ||
LABEL=BOOT_EMMC /boot vfat defaults 0 2 |
198 changes: 198 additions & 0 deletions
198
config/optional/boards/aml-c400-plus/_packages/bsp-cli/root/install-aml.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,198 @@ | ||
#!/bin/sh | ||
|
||
echo "Start script create MBR and filesystem" | ||
|
||
hasdrives=$(lsblk | grep -oE '(mmcblk[0-9])' | sort | uniq) | ||
if [ "$hasdrives" = "" ] | ||
then | ||
echo "UNABLE TO FIND ANY EMMC OR SD DRIVES ON THIS SYSTEM!!! " | ||
exit 1 | ||
fi | ||
avail=$(lsblk | grep -oE '(mmcblk[0-9]|sda[0-9])' | sort | uniq) | ||
if [ "$avail" = "" ] | ||
then | ||
echo "UNABLE TO FIND ANY DRIVES ON THIS SYSTEM!!!" | ||
exit 1 | ||
fi | ||
|
||
#unmount /var/log.hdd so logic below can find the root partition | ||
umount /var/log.hdd | ||
|
||
runfrom=$(lsblk | grep /$ | grep -oE '(mmcblk[0-9]|sda[0-9])') | ||
if [ "$runfrom" = "" ] | ||
then | ||
echo " UNABLE TO FIND ROOT OF THE RUNNING SYSTEM!!! " | ||
exit 1 | ||
fi | ||
emmc=$(echo $avail | sed "s/$runfrom//" | sed "s/sd[a-z][0-9]//g" | sed "s/ //g") | ||
if [ "$emmc" = "" ] | ||
then | ||
echo " UNABLE TO FIND YOUR EMMC DRIVE OR YOU ALREADY RUN FROM EMMC!!!" | ||
exit 1 | ||
fi | ||
if [ "$runfrom" = "$avail" ] | ||
then | ||
echo " YOU ARE RUNNING ALREADY FROM EMMC!!! " | ||
exit 1 | ||
fi | ||
if [ $runfrom = $emmc ] | ||
then | ||
echo " YOU ARE RUNNING ALREADY FROM EMMC!!! " | ||
exit 1 | ||
fi | ||
if [ "$(echo $emmc | grep mmcblk)" = "" ] | ||
then | ||
echo " YOU DO NOT APPEAR TO HAVE AN EMMC DRIVE!!! " | ||
exit 1 | ||
fi | ||
|
||
DEV_EMMC="/dev/$emmc" | ||
|
||
echo $DEV_EMMC | ||
|
||
echo "Start backup u-boot default" | ||
|
||
dd if="${DEV_EMMC}" of=/root/u-boot-default-aml.img bs=1M count=4 | ||
|
||
echo "Start create MBR and partittion" | ||
|
||
parted -s "${DEV_EMMC}" mklabel msdos | ||
parted -s "${DEV_EMMC}" mkpart primary fat32 512M 1024M | ||
parted -s "${DEV_EMMC}" mkpart primary ext4 1025M 100% | ||
|
||
echo "Start restore u-boot" | ||
|
||
dd if=/root/u-boot-default-aml.img of="${DEV_EMMC}" conv=fsync bs=1 count=442 | ||
dd if=/root/u-boot-default-aml.img of="${DEV_EMMC}" conv=fsync bs=512 skip=1 seek=1 | ||
|
||
sync | ||
|
||
echo "Done" | ||
|
||
echo "Start copy system for eMMC." | ||
|
||
mkdir -p /ddbr | ||
chmod 777 /ddbr | ||
|
||
PART_BOOT="${DEV_EMMC}p1" | ||
PART_ROOT="${DEV_EMMC}p2" | ||
DIR_INSTALL="/ddbr/install" | ||
|
||
if [ -d $DIR_INSTALL ] ; then | ||
rm -rf $DIR_INSTALL | ||
fi | ||
mkdir -p $DIR_INSTALL | ||
|
||
if grep -q $PART_BOOT /proc/mounts ; then | ||
echo "Unmounting BOOT partiton." | ||
umount -f $PART_BOOT | ||
fi | ||
echo -n "Formatting BOOT partition..." | ||
mkfs.vfat -n "BOOT_EMMC" $PART_BOOT | ||
echo "done." | ||
|
||
mount -o rw $PART_BOOT $DIR_INSTALL | ||
|
||
echo -n "Copying BOOT..." | ||
cp -r /boot/* $DIR_INSTALL && sync | ||
echo "done." | ||
|
||
echo -n "Edit init config..." | ||
sed -e "s/\(rootdev=UUID\)\([[:graph:]]\)*/rootdev=LABEL=ROOT_EMMC/gi" \ | ||
-i "$DIR_INSTALL/armbianEnv.txt" | ||
echo "done." | ||
|
||
rm $DIR_INSTALL/s9* | ||
rm $DIR_INSTALL/aml* | ||
|
||
if [ -f /boot/u-boot.ext ] ; then | ||
mv -f $DIR_INSTALL/u-boot.ext $DIR_INSTALL/u-boot.emmc | ||
|
||
sed -e "s/u-boot.ext/u-boot.emmc/g" \ | ||
-i "$DIR_INSTALL/boot.ini" | ||
echo "done." | ||
|
||
sync | ||
fi | ||
|
||
umount $DIR_INSTALL | ||
|
||
if grep -q $PART_ROOT /proc/mounts ; then | ||
echo "Unmounting ROOT partiton." | ||
umount -f $PART_ROOT | ||
fi | ||
|
||
echo "Formatting ROOT partition..." | ||
mke2fs -F -q -t ext4 -L ROOT_EMMC -m 0 $PART_ROOT | ||
e2fsck -n $PART_ROOT | ||
echo "done." | ||
|
||
echo "Copying ROOTFS." | ||
|
||
mount -o rw $PART_ROOT $DIR_INSTALL | ||
|
||
cd / | ||
echo "Copy BIN" | ||
tar -cf - bin | (cd $DIR_INSTALL; tar -xpf -) | ||
#echo "Copy BOOT" | ||
#mkdir -p $DIR_INSTALL/boot | ||
#tar -cf - boot | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Create DEV" | ||
mkdir -p $DIR_INSTALL/dev | ||
#tar -cf - dev | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy ETC" | ||
tar -cf - etc | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy HOME" | ||
tar -cf - home | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy LIB" | ||
tar -cf - lib | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy LIB64" | ||
tar -cf - lib64 | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Create MEDIA" | ||
mkdir -p $DIR_INSTALL/media | ||
#tar -cf - media | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Create MNT" | ||
mkdir -p $DIR_INSTALL/mnt | ||
#tar -cf - mnt | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy OPT" | ||
tar -cf - opt | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Create PROC" | ||
mkdir -p $DIR_INSTALL/proc | ||
echo "Copy ROOT" | ||
tar -cf - root | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Create RUN" | ||
mkdir -p $DIR_INSTALL/run | ||
echo "Copy SBIN" | ||
tar -cf - sbin | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy SELINUX" | ||
tar -cf - selinux | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy SRV" | ||
tar -cf - srv | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Create SYS" | ||
mkdir -p $DIR_INSTALL/sys | ||
echo "Create TMP" | ||
mkdir -p $DIR_INSTALL/tmp | ||
echo "Copy USR" | ||
tar -cf - usr | (cd $DIR_INSTALL; tar -xpf -) | ||
echo "Copy VAR" | ||
tar -cf - var | (cd $DIR_INSTALL; tar -xpf -) | ||
sync | ||
|
||
echo "Copy fstab" | ||
|
||
rm $DIR_INSTALL/etc/fstab | ||
cp -a /root/fstab.template $DIR_INSTALL/etc/fstab | ||
|
||
rm $DIR_INSTALL/root/install*.sh | ||
rm $DIR_INSTALL/root/fstab.template | ||
rm $DIR_INSTALL/usr/bin/ddbr | ||
|
||
|
||
cd / | ||
sync | ||
|
||
umount $DIR_INSTALL | ||
|
||
echo "*******************************************" | ||
echo "Complete copy OS to eMMC " | ||
echo "*******************************************" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters