add boards milkv-duo-python and milkv-duo256m-python
This commit is contained in:
2
build.sh
2
build.sh
@ -56,7 +56,7 @@ function get_toolchain()
|
||||
|
||||
function get_available_board()
|
||||
{
|
||||
MILKV_BOARD_ARRAY=( $(find device -mindepth 1 -maxdepth 1 -type d -print ! -name "." | awk -F/ '{ print $NF }' | sort) )
|
||||
MILKV_BOARD_ARRAY=( $(find device -mindepth 1 -maxdepth 1 -type d -print ! -name "." | awk -F/ '{ print $NF }' | sort -t '-' -k2,2) )
|
||||
#echo ${MILKV_BOARD_ARRAY[@]}
|
||||
|
||||
MILKV_BOARD_ARRAY_LEN=${#MILKV_BOARD_ARRAY[@]}
|
||||
|
||||
2
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/.gitignore
vendored
Normal file
2
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
mnt/system/
|
||||
usr/bin
|
||||
@ -0,0 +1,4 @@
|
||||
interface=usb0
|
||||
dhcp-range=192.168.42.2,192.168.42.242,1h
|
||||
dhcp-option=3
|
||||
dhcp-option=6
|
||||
50
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/etc/init.d/S99user
Executable file
50
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/etc/init.d/S99user
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
${CVI_SHOPTS}
|
||||
#
|
||||
# Start firmware
|
||||
#
|
||||
export USERDATAPATH=/mnt/data/
|
||||
export SYSTEMPATH=/mnt/system/
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "init mpp system..."
|
||||
if [ -d $SYSTEMPATH/ko ]; then
|
||||
sh $SYSTEMPATH/ko/loadsystemko.sh
|
||||
fi
|
||||
|
||||
echo "Starting app..."
|
||||
|
||||
if [ -f $SYSTEMPATH/duo-init.sh ]; then
|
||||
. $SYSTEMPATH/duo-init.sh &
|
||||
fi
|
||||
|
||||
if [ -f $SYSTEMPATH/blink.sh ]; then
|
||||
. $SYSTEMPATH/blink.sh &
|
||||
fi
|
||||
|
||||
if [ -f $SYSTEMPATH/usb.sh ]; then
|
||||
. $SYSTEMPATH/usb.sh &
|
||||
fi
|
||||
|
||||
if [ -f $USERDATAPATH/auto.sh ]; then
|
||||
usleep 30000
|
||||
. $USERDATAPATH/auto.sh &
|
||||
exit 1
|
||||
fi
|
||||
if [ -f $SYSTEMPATH/auto.sh ]; then
|
||||
usleep 30000
|
||||
. $SYSTEMPATH/auto.sh &
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
;;
|
||||
restart|reload)
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
# /etc/inittab
|
||||
#
|
||||
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
|
||||
#
|
||||
# Note: BusyBox init doesn't support runlevels. The runlevels field is
|
||||
# completely ignored by BusyBox init. If you want runlevels, use
|
||||
# sysvinit.
|
||||
#
|
||||
# Format for each entry: <id>:<runlevels>:<action>:<process>
|
||||
#
|
||||
# id == tty to run on, or empty for /dev/console
|
||||
# runlevels == ignored
|
||||
# action == one of sysinit, respawn, askfirst, wait, and once
|
||||
# process == program to run
|
||||
|
||||
# Startup the system
|
||||
::sysinit:/bin/mount -t proc proc /proc
|
||||
::sysinit:/bin/mount -o remount,rw /
|
||||
::sysinit:/bin/mkdir -p /dev/pts /dev/shm
|
||||
::sysinit:/bin/mount -a
|
||||
::sysinit:/sbin/swapon -a
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
|
||||
::sysinit:/bin/hostname -F /etc/hostname
|
||||
# now run any rc scripts
|
||||
::sysinit:/etc/init.d/rcS
|
||||
|
||||
# Put a getty on the serial port
|
||||
# console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
|
||||
console::respawn:/sbin/getty -L console 115200 vt100 -n -l /usr/local/bin/autologin
|
||||
|
||||
# Stuff to do for the 3-finger salute
|
||||
#::ctrlaltdel:/sbin/reboot
|
||||
|
||||
# Stuff to do before rebooting
|
||||
::shutdown:/etc/init.d/rcK
|
||||
::shutdown:/sbin/swapoff -a
|
||||
::shutdown:/bin/umount -a -r
|
||||
@ -0,0 +1,37 @@
|
||||
export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/mnt/system/usr/bin:/mnt/system/usr/sbin:/mnt/data/bin:/mnt/data/sbin"
|
||||
|
||||
if [ "$PS1" ]; then
|
||||
if [ "`id -u`" -eq 0 ]; then
|
||||
export PS1='# '
|
||||
else
|
||||
export PS1='$ '
|
||||
fi
|
||||
fi
|
||||
|
||||
export PAGER='/bin/more '
|
||||
export EDITOR='/bin/vi'
|
||||
|
||||
# Source configuration files from /etc/profile.d
|
||||
for i in /etc/profile.d/*.sh ; do
|
||||
if [ -r "$i" ]; then
|
||||
. $i
|
||||
fi
|
||||
unset i
|
||||
done
|
||||
|
||||
export HOSTNAME="$(hostname)"
|
||||
export OLDPWD=/root
|
||||
|
||||
if [ '$USER' == 'root' ]; then
|
||||
export PS1='[\u@\h]\w\# '
|
||||
else
|
||||
export PS1='[\u@\h]\w\$ '
|
||||
fi
|
||||
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
|
||||
export TERM=vt100
|
||||
export TERMINFO=/usr/share/terminfo
|
||||
292
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/etc/run_usb.sh
Executable file
292
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/etc/run_usb.sh
Executable file
@ -0,0 +1,292 @@
|
||||
CLASS=acm
|
||||
VID=0x3346
|
||||
PID=0x1003
|
||||
MSC_PID=0x1008
|
||||
RNDIS_PID=0x1009
|
||||
UVC_PID=0x100A
|
||||
UAC_PID=0x100B
|
||||
ADB_VID=0x18D1
|
||||
ADB_PID=0x4EE0
|
||||
ADB_PID_M1=0x4EE2
|
||||
ADB_PID_M2=0x4EE4
|
||||
MANUFACTURER="Cvitek"
|
||||
PRODUCT="USB Com Port"
|
||||
PRODUCT_RNDIS="RNDIS"
|
||||
PRODUCT_UVC="UVC"
|
||||
PRODUCT_UAC="UAC"
|
||||
PRODUCT_ADB="ADB"
|
||||
ADBD_PATH=/usr/bin/
|
||||
SERIAL="0123456789"
|
||||
MSC_FILE=$3
|
||||
CVI_DIR=/tmp/usb
|
||||
CVI_GADGET=$CVI_DIR/usb_gadget/cvitek
|
||||
CVI_FUNC=$CVI_GADGET/functions
|
||||
FUNC_NUM=0
|
||||
MAX_EP_NUM=4
|
||||
TMP_NUM=0
|
||||
INTF_NUM=0
|
||||
EP_IN=0
|
||||
EP_OUT=0
|
||||
|
||||
case "$2" in
|
||||
acm)
|
||||
CLASS=acm
|
||||
;;
|
||||
msc)
|
||||
CLASS=mass_storage
|
||||
PID=$MSC_PID
|
||||
;;
|
||||
cvg)
|
||||
CLASS=cvg
|
||||
;;
|
||||
rndis)
|
||||
CLASS=rndis
|
||||
PID=$RNDIS_PID
|
||||
PRODUCT=$PRODUCT_RNDIS
|
||||
;;
|
||||
uvc)
|
||||
CLASS=uvc
|
||||
PID=$UVC_PID
|
||||
PRODUCT=$PRODUCT_UVC
|
||||
;;
|
||||
uac1)
|
||||
CLASS=uac1
|
||||
PID=$UAC_PID
|
||||
PRODUCT=$PRODUCT_UAC
|
||||
;;
|
||||
adb)
|
||||
CLASS=ffs.adb
|
||||
VID=$ADB_VID
|
||||
PID=$ADB_PID
|
||||
PRODUCT=$PRODUCT_ADB
|
||||
;;
|
||||
*)
|
||||
if [ "$1" = "probe" ] ; then
|
||||
echo "Usage: $0 probe {acm|msc|cvg|rndis|uvc|uac1|adb}"
|
||||
exit 1
|
||||
fi
|
||||
esac
|
||||
|
||||
calc_func() {
|
||||
FUNC_NUM=$(ls $CVI_GADGET/functions -l | grep ^d | wc -l)
|
||||
echo "$FUNC_NUM file(s)"
|
||||
}
|
||||
|
||||
res_check() {
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "acm*" | wc -l)
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "mass_storage*" | wc -l)
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "cvg*" | wc -l)
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "rndis*" | wc -l)
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "uvc*" | wc -l)
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "uac1*" | wc -l)
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name ffs.adb | wc -l)
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
|
||||
if [ "$CLASS" = "acm" ] ; then
|
||||
EP_IN=$(($EP_IN+2))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "mass_storage" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "cvg" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "rndis" ] ; then
|
||||
EP_IN=$(($EP_IN+2))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "uvc" ] ; then
|
||||
EP_IN=$(($EP_IN+2))
|
||||
fi
|
||||
if [ "$CLASS" = "uac1" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "ffs.adb" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
echo "$EP_IN in ep"
|
||||
echo "$EP_OUT out ep"
|
||||
if [ $EP_IN -gt $MAX_EP_NUM ]; then
|
||||
echo "reach maximum resource"
|
||||
exit 1
|
||||
fi
|
||||
if [ $EP_OUT -gt $MAX_EP_NUM ]; then
|
||||
echo "reach maximum resource"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
probe() {
|
||||
if [ ! -d $CVI_DIR ]; then
|
||||
mkdir $CVI_DIR
|
||||
fi
|
||||
if [ ! -d $CVI_DIR/usb_gadget ]; then
|
||||
# Enale USB ConfigFS
|
||||
mount none $CVI_DIR -t configfs
|
||||
# Create gadget dev
|
||||
mkdir $CVI_GADGET
|
||||
# Set the VID and PID
|
||||
echo $VID >$CVI_GADGET/idVendor
|
||||
echo $PID >$CVI_GADGET/idProduct
|
||||
# Set the product information string
|
||||
mkdir $CVI_GADGET/strings/0x409
|
||||
echo $MANUFACTURER>$CVI_GADGET/strings/0x409/manufacturer
|
||||
echo $PRODUCT>$CVI_GADGET/strings/0x409/product
|
||||
echo $SERIAL>$CVI_GADGET/strings/0x409/serialnumber
|
||||
# Set the USB configuration
|
||||
mkdir $CVI_GADGET/configs/c.1
|
||||
mkdir $CVI_GADGET/configs/c.1/strings/0x409
|
||||
echo "config1">$CVI_GADGET/configs/c.1/strings/0x409/configuration
|
||||
# Set the MaxPower of USB descriptor
|
||||
echo 120 >$CVI_GADGET/configs/c.1/MaxPower
|
||||
fi
|
||||
# get current functions number
|
||||
calc_func
|
||||
# assign the class code for composite device
|
||||
if [ ! $FUNC_NUM -eq 0 ]; then
|
||||
echo 0xEF >$CVI_GADGET/bDeviceClass
|
||||
echo 0x02 >$CVI_GADGET/bDeviceSubClass
|
||||
echo 0x01 >$CVI_GADGET/bDeviceProtocol
|
||||
fi
|
||||
# resource check
|
||||
res_check
|
||||
# create the desired function
|
||||
if [ "$CLASS" = "ffs.adb" ] ; then
|
||||
# adb shall be the last function to probe. Override the pid/vid
|
||||
echo $VID >$CVI_GADGET/idVendor
|
||||
echo $PID >$CVI_GADGET/idProduct
|
||||
# choose pid for different function number
|
||||
if [ $INTF_NUM -eq 1 ]; then
|
||||
echo $ADB_PID_M1 >$CVI_GADGET/idProduct
|
||||
fi
|
||||
if [ $INTF_NUM -eq 2 ]; then
|
||||
echo $ADB_PID_M2 >$CVI_GADGET/idProduct
|
||||
fi
|
||||
mkdir $CVI_GADGET/functions/$CLASS
|
||||
else
|
||||
mkdir $CVI_GADGET/functions/$CLASS.usb$FUNC_NUM
|
||||
fi
|
||||
if [ "$CLASS" = "mass_storage" ] ; then
|
||||
echo $MSC_FILE >$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/lun.0/file
|
||||
fi
|
||||
if [ "$CLASS" = "rndis" ] ; then
|
||||
#OS STRING
|
||||
echo 1 >$CVI_GADGET/os_desc/use
|
||||
echo 0xcd >$CVI_GADGET/os_desc/b_vendor_code
|
||||
echo MSFT100 >$CVI_GADGET/os_desc/qw_sign
|
||||
#COMPATIBLE ID
|
||||
echo RNDIS >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/compatible_id
|
||||
#MAKE c.1 THE ONE ASSOCIATED WITH OS DESCRIPTORS
|
||||
ln -s $CVI_GADGET/configs/c.1 $CVI_GADGET/os_desc
|
||||
#MAKE "Icons" EXTENDED PROPERTY
|
||||
mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons
|
||||
echo 2 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/type
|
||||
echo "%SystemRoot%\\system32\\shell32.dll,-233" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/data
|
||||
#MAKE "Label" EXTENDED PROPERTY
|
||||
mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label
|
||||
echo 1 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/type
|
||||
echo "XYZ Device" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/data
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
start() {
|
||||
# link this function to the configuration
|
||||
calc_func
|
||||
if [ $FUNC_NUM -eq 0 ]; then
|
||||
echo "Functions Empty!"
|
||||
exit 1
|
||||
fi
|
||||
if [ -d $CVI_GADGET/functions/ffs.adb ]; then
|
||||
FUNC_NUM=$(($FUNC_NUM-1))
|
||||
fi
|
||||
for i in `seq 0 $(($FUNC_NUM-1))`;
|
||||
do
|
||||
find $CVI_GADGET/functions/ -name "*.usb$i" | xargs -I % ln -s % $CVI_GADGET/configs/c.1
|
||||
done
|
||||
if [ -d $CVI_GADGET/functions/ffs.adb ]; then
|
||||
ln -s $CVI_GADGET/functions/ffs.adb $CVI_GADGET/configs/c.1
|
||||
mkdir /dev/usb-ffs/adb -p
|
||||
mount -t functionfs adb /dev/usb-ffs/adb
|
||||
if [ -f $ADBD_PATH/adbd ]; then
|
||||
$ADBD_PATH/adbd &
|
||||
fi
|
||||
else
|
||||
# Start the gadget driver
|
||||
UDC=`ls /sys/class/udc/ | awk '{print $1}'`
|
||||
echo ${UDC} >$CVI_GADGET/UDC
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ -d $CVI_GADGET/configs/c.1/ffs.adb ]; then
|
||||
pkill adbd
|
||||
rm $CVI_GADGET/configs/c.1/ffs.adb
|
||||
else
|
||||
echo "" >$CVI_GADGET/UDC
|
||||
fi
|
||||
find $CVI_GADGET/configs/ -name "*.usb*" | xargs rm -f
|
||||
rmdir $CVI_GADGET/configs/c.*/strings/0x409/
|
||||
tmp_dirs=$(find $CVI_GADGET/os_desc/c.* -type d)
|
||||
if [ -n tmp_dirs ]; then
|
||||
echo "remove os_desc!"
|
||||
rm -rf $CVI_GADGET/os_desc/c.*/
|
||||
find $CVI_GADGET/functions/ -name Icons | xargs rmdir
|
||||
find $CVI_GADGET/functions/ -name Label | xargs rmdir
|
||||
fi
|
||||
rmdir $CVI_GADGET/configs/c.*/
|
||||
rmdir $CVI_GADGET/functions/*
|
||||
rmdir $CVI_GADGET/strings/0x409/
|
||||
rmdir $CVI_GADGET
|
||||
umount $CVI_DIR
|
||||
rmdir $CVI_DIR
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
probe)
|
||||
probe
|
||||
;;
|
||||
UDC)
|
||||
ls /sys/class/udc/ >$CVI_GADGET/UDC
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 probe {acm|msc|cvg|uvc|uac1} {file (msc)}"
|
||||
echo "Usage: $0 start"
|
||||
echo "Usage: $0 stop"
|
||||
exit 1
|
||||
esac
|
||||
exit $?
|
||||
83
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/etc/uhubon.sh
Executable file
83
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/etc/uhubon.sh
Executable file
@ -0,0 +1,83 @@
|
||||
GPIO_HUBPORT_EN=449
|
||||
GPIO_ROLESEL=450
|
||||
GPIO_HUBRST=451
|
||||
SYS_GPIO=/sys/class/gpio
|
||||
|
||||
hub_on() {
|
||||
echo "turn on usb hub"
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then
|
||||
echo $GPIO_HUBPORT_EN >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then
|
||||
echo $GPIO_ROLESEL >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then
|
||||
echo $GPIO_HUBRST >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction
|
||||
|
||||
echo 1 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value
|
||||
echo 0 >/sys/class/gpio/gpio$GPIO_ROLESEL/value
|
||||
echo 0 >/sys/class/gpio/gpio$GPIO_HUBRST/value
|
||||
}
|
||||
|
||||
hub_off() {
|
||||
echo "turn off usb hub"
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then
|
||||
echo $GPIO_HUBPORT_EN >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then
|
||||
echo $GPIO_ROLESEL >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then
|
||||
echo $GPIO_HUBRST >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction
|
||||
|
||||
echo 0 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value
|
||||
echo 1 >/sys/class/gpio/gpio$GPIO_ROLESEL/value
|
||||
echo 1 >/sys/class/gpio/gpio$GPIO_HUBRST/value
|
||||
}
|
||||
|
||||
inst_mod() {
|
||||
insmod /mnt/system/ko/configfs.ko
|
||||
insmod /mnt/system/ko/libcomposite.ko
|
||||
insmod /mnt/system/ko/u_serial.ko
|
||||
insmod /mnt/system/ko/usb_f_acm.ko
|
||||
insmod /mnt/system/ko/cvi_usb_f_cvg.ko
|
||||
insmod /mnt/system/ko/usb_f_uvc.ko
|
||||
insmod /mnt/system/ko/usb_f_fs.ko
|
||||
insmod /mnt/system/ko/u_audio.ko
|
||||
insmod /mnt/system/ko/usb_f_uac1.ko
|
||||
insmod /mnt/system/ko/usb_f_serial.ko
|
||||
insmod /mnt/system/ko/usb_f_mass_storage.ko
|
||||
insmod /mnt/system/ko/u_ether.ko
|
||||
insmod /mnt/system/ko/usb_f_ecm.ko
|
||||
insmod /mnt/system/ko/usb_f_eem.ko
|
||||
insmod /mnt/system/ko/usb_f_rndis.ko
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
host)
|
||||
insmod /mnt/system/ko/dwc2.ko
|
||||
echo host > /proc/cviusb/otg_role
|
||||
;;
|
||||
device)
|
||||
echo device > /proc/cviusb/otg_role
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 host"
|
||||
echo "Usage: $0 device"
|
||||
exit 1
|
||||
esac
|
||||
exit $?
|
||||
@ -0,0 +1 @@
|
||||
../usr/lib64v0p7_xthead/lp64d/libc.so
|
||||
25
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/mnt/system/S99msc
Executable file
25
buildroot-2021.05/board/milkv/milkv-duo-python/overlay/mnt/system/S99msc
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf "Starting msc: "
|
||||
/etc/uhubon.sh device
|
||||
/etc/run_usb.sh probe msc /dev/mmcblk0p1
|
||||
/etc/run_usb.sh start
|
||||
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||
;;
|
||||
stop)
|
||||
printf "Stopping msc: "
|
||||
echo "OK"
|
||||
;;
|
||||
restart|reload)
|
||||
"$0" stop
|
||||
"$0" start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
#! /bin/sh
|
||||
exec /bin/login -f root
|
||||
2
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/.gitignore
vendored
Normal file
2
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
mnt/system/
|
||||
usr/bin
|
||||
@ -0,0 +1,4 @@
|
||||
interface=usb0
|
||||
dhcp-range=192.168.42.2,192.168.42.242,1h
|
||||
dhcp-option=3
|
||||
dhcp-option=6
|
||||
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
${CVI_SHOPTS}
|
||||
#
|
||||
# Start firmware
|
||||
#
|
||||
export USERDATAPATH=/mnt/data/
|
||||
export SYSTEMPATH=/mnt/system/
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "init mpp system..."
|
||||
if [ -d $SYSTEMPATH/ko ]; then
|
||||
sh $SYSTEMPATH/ko/loadsystemko.sh
|
||||
fi
|
||||
|
||||
echo "Starting app..."
|
||||
|
||||
if [ -f $SYSTEMPATH/duo-init.sh ]; then
|
||||
. $SYSTEMPATH/duo-init.sh &
|
||||
fi
|
||||
|
||||
if [ -f $SYSTEMPATH/blink.sh ]; then
|
||||
. $SYSTEMPATH/blink.sh &
|
||||
fi
|
||||
|
||||
if [ -f $SYSTEMPATH/usb.sh ]; then
|
||||
. $SYSTEMPATH/usb.sh &
|
||||
fi
|
||||
|
||||
if [ -f $USERDATAPATH/auto.sh ]; then
|
||||
usleep 30000
|
||||
. $USERDATAPATH/auto.sh &
|
||||
exit 1
|
||||
fi
|
||||
if [ -f $SYSTEMPATH/auto.sh ]; then
|
||||
usleep 30000
|
||||
. $SYSTEMPATH/auto.sh &
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
;;
|
||||
restart|reload)
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
# /etc/inittab
|
||||
#
|
||||
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
|
||||
#
|
||||
# Note: BusyBox init doesn't support runlevels. The runlevels field is
|
||||
# completely ignored by BusyBox init. If you want runlevels, use
|
||||
# sysvinit.
|
||||
#
|
||||
# Format for each entry: <id>:<runlevels>:<action>:<process>
|
||||
#
|
||||
# id == tty to run on, or empty for /dev/console
|
||||
# runlevels == ignored
|
||||
# action == one of sysinit, respawn, askfirst, wait, and once
|
||||
# process == program to run
|
||||
|
||||
# Startup the system
|
||||
::sysinit:/bin/mount -t proc proc /proc
|
||||
::sysinit:/bin/mount -o remount,rw /
|
||||
::sysinit:/bin/mkdir -p /dev/pts /dev/shm
|
||||
::sysinit:/bin/mount -a
|
||||
::sysinit:/sbin/swapon -a
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
|
||||
::sysinit:/bin/hostname -F /etc/hostname
|
||||
# now run any rc scripts
|
||||
::sysinit:/etc/init.d/rcS
|
||||
|
||||
# Put a getty on the serial port
|
||||
# console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
|
||||
console::respawn:/sbin/getty -L console 115200 vt100 -n -l /usr/local/bin/autologin
|
||||
|
||||
# Stuff to do for the 3-finger salute
|
||||
#::ctrlaltdel:/sbin/reboot
|
||||
|
||||
# Stuff to do before rebooting
|
||||
::shutdown:/etc/init.d/rcK
|
||||
::shutdown:/sbin/swapoff -a
|
||||
::shutdown:/bin/umount -a -r
|
||||
@ -0,0 +1,37 @@
|
||||
export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/mnt/system/usr/bin:/mnt/system/usr/sbin:/mnt/data/bin:/mnt/data/sbin"
|
||||
|
||||
if [ "$PS1" ]; then
|
||||
if [ "`id -u`" -eq 0 ]; then
|
||||
export PS1='# '
|
||||
else
|
||||
export PS1='$ '
|
||||
fi
|
||||
fi
|
||||
|
||||
export PAGER='/bin/more '
|
||||
export EDITOR='/bin/vi'
|
||||
|
||||
# Source configuration files from /etc/profile.d
|
||||
for i in /etc/profile.d/*.sh ; do
|
||||
if [ -r "$i" ]; then
|
||||
. $i
|
||||
fi
|
||||
unset i
|
||||
done
|
||||
|
||||
export HOSTNAME="$(hostname)"
|
||||
export OLDPWD=/root
|
||||
|
||||
if [ '$USER' == 'root' ]; then
|
||||
export PS1='[\u@\h]\w\# '
|
||||
else
|
||||
export PS1='[\u@\h]\w\$ '
|
||||
fi
|
||||
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
|
||||
export TERM=vt100
|
||||
export TERMINFO=/usr/share/terminfo
|
||||
292
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/etc/run_usb.sh
Executable file
292
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/etc/run_usb.sh
Executable file
@ -0,0 +1,292 @@
|
||||
CLASS=acm
|
||||
VID=0x3346
|
||||
PID=0x1003
|
||||
MSC_PID=0x1008
|
||||
RNDIS_PID=0x1009
|
||||
UVC_PID=0x100A
|
||||
UAC_PID=0x100B
|
||||
ADB_VID=0x18D1
|
||||
ADB_PID=0x4EE0
|
||||
ADB_PID_M1=0x4EE2
|
||||
ADB_PID_M2=0x4EE4
|
||||
MANUFACTURER="Cvitek"
|
||||
PRODUCT="USB Com Port"
|
||||
PRODUCT_RNDIS="RNDIS"
|
||||
PRODUCT_UVC="UVC"
|
||||
PRODUCT_UAC="UAC"
|
||||
PRODUCT_ADB="ADB"
|
||||
ADBD_PATH=/usr/bin/
|
||||
SERIAL="0123456789"
|
||||
MSC_FILE=$3
|
||||
CVI_DIR=/tmp/usb
|
||||
CVI_GADGET=$CVI_DIR/usb_gadget/cvitek
|
||||
CVI_FUNC=$CVI_GADGET/functions
|
||||
FUNC_NUM=0
|
||||
MAX_EP_NUM=4
|
||||
TMP_NUM=0
|
||||
INTF_NUM=0
|
||||
EP_IN=0
|
||||
EP_OUT=0
|
||||
|
||||
case "$2" in
|
||||
acm)
|
||||
CLASS=acm
|
||||
;;
|
||||
msc)
|
||||
CLASS=mass_storage
|
||||
PID=$MSC_PID
|
||||
;;
|
||||
cvg)
|
||||
CLASS=cvg
|
||||
;;
|
||||
rndis)
|
||||
CLASS=rndis
|
||||
PID=$RNDIS_PID
|
||||
PRODUCT=$PRODUCT_RNDIS
|
||||
;;
|
||||
uvc)
|
||||
CLASS=uvc
|
||||
PID=$UVC_PID
|
||||
PRODUCT=$PRODUCT_UVC
|
||||
;;
|
||||
uac1)
|
||||
CLASS=uac1
|
||||
PID=$UAC_PID
|
||||
PRODUCT=$PRODUCT_UAC
|
||||
;;
|
||||
adb)
|
||||
CLASS=ffs.adb
|
||||
VID=$ADB_VID
|
||||
PID=$ADB_PID
|
||||
PRODUCT=$PRODUCT_ADB
|
||||
;;
|
||||
*)
|
||||
if [ "$1" = "probe" ] ; then
|
||||
echo "Usage: $0 probe {acm|msc|cvg|rndis|uvc|uac1|adb}"
|
||||
exit 1
|
||||
fi
|
||||
esac
|
||||
|
||||
calc_func() {
|
||||
FUNC_NUM=$(ls $CVI_GADGET/functions -l | grep ^d | wc -l)
|
||||
echo "$FUNC_NUM file(s)"
|
||||
}
|
||||
|
||||
res_check() {
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "acm*" | wc -l)
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "mass_storage*" | wc -l)
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "cvg*" | wc -l)
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "rndis*" | wc -l)
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "uvc*" | wc -l)
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name "uac1*" | wc -l)
|
||||
TMP_NUM=$(($TMP_NUM * 2))
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
TMP_NUM=$(find $CVI_GADGET/functions/ -name ffs.adb | wc -l)
|
||||
EP_IN=$(($EP_IN+$TMP_NUM))
|
||||
EP_OUT=$(($EP_OUT+$TMP_NUM))
|
||||
INTF_NUM=$(($INTF_NUM+$TMP_NUM))
|
||||
|
||||
if [ "$CLASS" = "acm" ] ; then
|
||||
EP_IN=$(($EP_IN+2))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "mass_storage" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "cvg" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "rndis" ] ; then
|
||||
EP_IN=$(($EP_IN+2))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "uvc" ] ; then
|
||||
EP_IN=$(($EP_IN+2))
|
||||
fi
|
||||
if [ "$CLASS" = "uac1" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
if [ "$CLASS" = "ffs.adb" ] ; then
|
||||
EP_IN=$(($EP_IN+1))
|
||||
EP_OUT=$(($EP_OUT+1))
|
||||
fi
|
||||
echo "$EP_IN in ep"
|
||||
echo "$EP_OUT out ep"
|
||||
if [ $EP_IN -gt $MAX_EP_NUM ]; then
|
||||
echo "reach maximum resource"
|
||||
exit 1
|
||||
fi
|
||||
if [ $EP_OUT -gt $MAX_EP_NUM ]; then
|
||||
echo "reach maximum resource"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
probe() {
|
||||
if [ ! -d $CVI_DIR ]; then
|
||||
mkdir $CVI_DIR
|
||||
fi
|
||||
if [ ! -d $CVI_DIR/usb_gadget ]; then
|
||||
# Enale USB ConfigFS
|
||||
mount none $CVI_DIR -t configfs
|
||||
# Create gadget dev
|
||||
mkdir $CVI_GADGET
|
||||
# Set the VID and PID
|
||||
echo $VID >$CVI_GADGET/idVendor
|
||||
echo $PID >$CVI_GADGET/idProduct
|
||||
# Set the product information string
|
||||
mkdir $CVI_GADGET/strings/0x409
|
||||
echo $MANUFACTURER>$CVI_GADGET/strings/0x409/manufacturer
|
||||
echo $PRODUCT>$CVI_GADGET/strings/0x409/product
|
||||
echo $SERIAL>$CVI_GADGET/strings/0x409/serialnumber
|
||||
# Set the USB configuration
|
||||
mkdir $CVI_GADGET/configs/c.1
|
||||
mkdir $CVI_GADGET/configs/c.1/strings/0x409
|
||||
echo "config1">$CVI_GADGET/configs/c.1/strings/0x409/configuration
|
||||
# Set the MaxPower of USB descriptor
|
||||
echo 120 >$CVI_GADGET/configs/c.1/MaxPower
|
||||
fi
|
||||
# get current functions number
|
||||
calc_func
|
||||
# assign the class code for composite device
|
||||
if [ ! $FUNC_NUM -eq 0 ]; then
|
||||
echo 0xEF >$CVI_GADGET/bDeviceClass
|
||||
echo 0x02 >$CVI_GADGET/bDeviceSubClass
|
||||
echo 0x01 >$CVI_GADGET/bDeviceProtocol
|
||||
fi
|
||||
# resource check
|
||||
res_check
|
||||
# create the desired function
|
||||
if [ "$CLASS" = "ffs.adb" ] ; then
|
||||
# adb shall be the last function to probe. Override the pid/vid
|
||||
echo $VID >$CVI_GADGET/idVendor
|
||||
echo $PID >$CVI_GADGET/idProduct
|
||||
# choose pid for different function number
|
||||
if [ $INTF_NUM -eq 1 ]; then
|
||||
echo $ADB_PID_M1 >$CVI_GADGET/idProduct
|
||||
fi
|
||||
if [ $INTF_NUM -eq 2 ]; then
|
||||
echo $ADB_PID_M2 >$CVI_GADGET/idProduct
|
||||
fi
|
||||
mkdir $CVI_GADGET/functions/$CLASS
|
||||
else
|
||||
mkdir $CVI_GADGET/functions/$CLASS.usb$FUNC_NUM
|
||||
fi
|
||||
if [ "$CLASS" = "mass_storage" ] ; then
|
||||
echo $MSC_FILE >$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/lun.0/file
|
||||
fi
|
||||
if [ "$CLASS" = "rndis" ] ; then
|
||||
#OS STRING
|
||||
echo 1 >$CVI_GADGET/os_desc/use
|
||||
echo 0xcd >$CVI_GADGET/os_desc/b_vendor_code
|
||||
echo MSFT100 >$CVI_GADGET/os_desc/qw_sign
|
||||
#COMPATIBLE ID
|
||||
echo RNDIS >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/compatible_id
|
||||
#MAKE c.1 THE ONE ASSOCIATED WITH OS DESCRIPTORS
|
||||
ln -s $CVI_GADGET/configs/c.1 $CVI_GADGET/os_desc
|
||||
#MAKE "Icons" EXTENDED PROPERTY
|
||||
mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons
|
||||
echo 2 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/type
|
||||
echo "%SystemRoot%\\system32\\shell32.dll,-233" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/data
|
||||
#MAKE "Label" EXTENDED PROPERTY
|
||||
mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label
|
||||
echo 1 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/type
|
||||
echo "XYZ Device" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/data
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
start() {
|
||||
# link this function to the configuration
|
||||
calc_func
|
||||
if [ $FUNC_NUM -eq 0 ]; then
|
||||
echo "Functions Empty!"
|
||||
exit 1
|
||||
fi
|
||||
if [ -d $CVI_GADGET/functions/ffs.adb ]; then
|
||||
FUNC_NUM=$(($FUNC_NUM-1))
|
||||
fi
|
||||
for i in `seq 0 $(($FUNC_NUM-1))`;
|
||||
do
|
||||
find $CVI_GADGET/functions/ -name "*.usb$i" | xargs -I % ln -s % $CVI_GADGET/configs/c.1
|
||||
done
|
||||
if [ -d $CVI_GADGET/functions/ffs.adb ]; then
|
||||
ln -s $CVI_GADGET/functions/ffs.adb $CVI_GADGET/configs/c.1
|
||||
mkdir /dev/usb-ffs/adb -p
|
||||
mount -t functionfs adb /dev/usb-ffs/adb
|
||||
if [ -f $ADBD_PATH/adbd ]; then
|
||||
$ADBD_PATH/adbd &
|
||||
fi
|
||||
else
|
||||
# Start the gadget driver
|
||||
UDC=`ls /sys/class/udc/ | awk '{print $1}'`
|
||||
echo ${UDC} >$CVI_GADGET/UDC
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ -d $CVI_GADGET/configs/c.1/ffs.adb ]; then
|
||||
pkill adbd
|
||||
rm $CVI_GADGET/configs/c.1/ffs.adb
|
||||
else
|
||||
echo "" >$CVI_GADGET/UDC
|
||||
fi
|
||||
find $CVI_GADGET/configs/ -name "*.usb*" | xargs rm -f
|
||||
rmdir $CVI_GADGET/configs/c.*/strings/0x409/
|
||||
tmp_dirs=$(find $CVI_GADGET/os_desc/c.* -type d)
|
||||
if [ -n tmp_dirs ]; then
|
||||
echo "remove os_desc!"
|
||||
rm -rf $CVI_GADGET/os_desc/c.*/
|
||||
find $CVI_GADGET/functions/ -name Icons | xargs rmdir
|
||||
find $CVI_GADGET/functions/ -name Label | xargs rmdir
|
||||
fi
|
||||
rmdir $CVI_GADGET/configs/c.*/
|
||||
rmdir $CVI_GADGET/functions/*
|
||||
rmdir $CVI_GADGET/strings/0x409/
|
||||
rmdir $CVI_GADGET
|
||||
umount $CVI_DIR
|
||||
rmdir $CVI_DIR
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
probe)
|
||||
probe
|
||||
;;
|
||||
UDC)
|
||||
ls /sys/class/udc/ >$CVI_GADGET/UDC
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 probe {acm|msc|cvg|uvc|uac1} {file (msc)}"
|
||||
echo "Usage: $0 start"
|
||||
echo "Usage: $0 stop"
|
||||
exit 1
|
||||
esac
|
||||
exit $?
|
||||
83
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/etc/uhubon.sh
Executable file
83
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/etc/uhubon.sh
Executable file
@ -0,0 +1,83 @@
|
||||
GPIO_HUBPORT_EN=449
|
||||
GPIO_ROLESEL=450
|
||||
GPIO_HUBRST=451
|
||||
SYS_GPIO=/sys/class/gpio
|
||||
|
||||
hub_on() {
|
||||
echo "turn on usb hub"
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then
|
||||
echo $GPIO_HUBPORT_EN >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then
|
||||
echo $GPIO_ROLESEL >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then
|
||||
echo $GPIO_HUBRST >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction
|
||||
|
||||
echo 1 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value
|
||||
echo 0 >/sys/class/gpio/gpio$GPIO_ROLESEL/value
|
||||
echo 0 >/sys/class/gpio/gpio$GPIO_HUBRST/value
|
||||
}
|
||||
|
||||
hub_off() {
|
||||
echo "turn off usb hub"
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then
|
||||
echo $GPIO_HUBPORT_EN >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then
|
||||
echo $GPIO_ROLESEL >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then
|
||||
echo $GPIO_HUBRST >/sys/class/gpio/export
|
||||
fi
|
||||
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction
|
||||
echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction
|
||||
|
||||
echo 0 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value
|
||||
echo 1 >/sys/class/gpio/gpio$GPIO_ROLESEL/value
|
||||
echo 1 >/sys/class/gpio/gpio$GPIO_HUBRST/value
|
||||
}
|
||||
|
||||
inst_mod() {
|
||||
insmod /mnt/system/ko/configfs.ko
|
||||
insmod /mnt/system/ko/libcomposite.ko
|
||||
insmod /mnt/system/ko/u_serial.ko
|
||||
insmod /mnt/system/ko/usb_f_acm.ko
|
||||
insmod /mnt/system/ko/cvi_usb_f_cvg.ko
|
||||
insmod /mnt/system/ko/usb_f_uvc.ko
|
||||
insmod /mnt/system/ko/usb_f_fs.ko
|
||||
insmod /mnt/system/ko/u_audio.ko
|
||||
insmod /mnt/system/ko/usb_f_uac1.ko
|
||||
insmod /mnt/system/ko/usb_f_serial.ko
|
||||
insmod /mnt/system/ko/usb_f_mass_storage.ko
|
||||
insmod /mnt/system/ko/u_ether.ko
|
||||
insmod /mnt/system/ko/usb_f_ecm.ko
|
||||
insmod /mnt/system/ko/usb_f_eem.ko
|
||||
insmod /mnt/system/ko/usb_f_rndis.ko
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
host)
|
||||
insmod /mnt/system/ko/dwc2.ko
|
||||
echo host > /proc/cviusb/otg_role
|
||||
;;
|
||||
device)
|
||||
echo device > /proc/cviusb/otg_role
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 host"
|
||||
echo "Usage: $0 device"
|
||||
exit 1
|
||||
esac
|
||||
exit $?
|
||||
@ -0,0 +1 @@
|
||||
../usr/lib64v0p7_xthead/lp64d/libc.so
|
||||
25
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/mnt/system/S99msc
Executable file
25
buildroot-2021.05/board/milkv/milkv-duo256m-python/overlay/mnt/system/S99msc
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf "Starting msc: "
|
||||
/etc/uhubon.sh device
|
||||
/etc/run_usb.sh probe msc /dev/mmcblk0p1
|
||||
/etc/run_usb.sh start
|
||||
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||
;;
|
||||
stop)
|
||||
printf "Stopping msc: "
|
||||
echo "OK"
|
||||
;;
|
||||
restart|reload)
|
||||
"$0" stop
|
||||
"$0" start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
#! /bin/sh
|
||||
exec /bin/login -f root
|
||||
25
buildroot-2021.05/board/milkv/milkv-duo256m/overlay/mnt/system/S99msc
Executable file
25
buildroot-2021.05/board/milkv/milkv-duo256m/overlay/mnt/system/S99msc
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf "Starting msc: "
|
||||
/etc/uhubon.sh device
|
||||
/etc/run_usb.sh probe msc /dev/mmcblk0p1
|
||||
/etc/run_usb.sh start
|
||||
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||
;;
|
||||
stop)
|
||||
printf "Stopping msc: "
|
||||
echo "OK"
|
||||
;;
|
||||
restart|reload)
|
||||
"$0" stop
|
||||
"$0" start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
@ -0,0 +1,512 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Buildroot -g8c59e72e33-dirty Configuration
|
||||
#
|
||||
BR2_HAVE_DOT_CONFIG=y
|
||||
BR2_HOST_GCC_AT_LEAST_4_9=y
|
||||
BR2_HOST_GCC_AT_LEAST_5=y
|
||||
BR2_HOST_GCC_AT_LEAST_6=y
|
||||
BR2_HOST_GCC_AT_LEAST_7=y
|
||||
|
||||
#
|
||||
# Target options
|
||||
#
|
||||
BR2_ARCH_IS_64=y
|
||||
BR2_ARCH_HAS_MMU_MANDATORY=y
|
||||
BR2_riscv=y
|
||||
BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y
|
||||
BR2_ARCH="riscv64"
|
||||
BR2_ENDIAN="LITTLE"
|
||||
BR2_GCC_TARGET_ABI="lp64d"
|
||||
BR2_BINFMT_SUPPORTS_SHARED=y
|
||||
BR2_READELF_ARCH_NAME="RISC-V"
|
||||
BR2_BINFMT_ELF=y
|
||||
BR2_RISCV_ISA_RVI=y
|
||||
BR2_RISCV_ISA_RVM=y
|
||||
BR2_RISCV_ISA_RVA=y
|
||||
BR2_RISCV_ISA_RVF=y
|
||||
BR2_RISCV_ISA_RVD=y
|
||||
BR2_riscv_g=y
|
||||
# BR2_riscv_custom is not set
|
||||
# BR2_RISCV_32 is not set
|
||||
BR2_RISCV_64=y
|
||||
# BR2_RISCV_ABI_LP64 is not set
|
||||
# BR2_RISCV_ABI_LP64F is not set
|
||||
BR2_RISCV_ABI_LP64D=y
|
||||
|
||||
#
|
||||
# Build options
|
||||
#
|
||||
|
||||
#
|
||||
# Commands
|
||||
#
|
||||
BR2_WGET="wget --passive-ftp -nd -t 3"
|
||||
BR2_SVN="svn --non-interactive"
|
||||
BR2_BZR="bzr"
|
||||
BR2_GIT="git"
|
||||
BR2_CVS="cvs"
|
||||
BR2_LOCALFILES="cp"
|
||||
BR2_SCP="scp"
|
||||
BR2_HG="hg"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_XZCAT="xzcat"
|
||||
BR2_LZCAT="lzip -d -c"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DEFCONFIG="./configs/milkv-duo_musl_riscv64_defconfig"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_HOST_DIR="$(BASE_DIR)/host"
|
||||
|
||||
#
|
||||
# Mirrors and Download locations
|
||||
#
|
||||
BR2_PRIMARY_SITE=""
|
||||
BR2_BACKUP_SITE="http://sources.buildroot.net"
|
||||
BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub"
|
||||
BR2_GNU_MIRROR="http://ftpmirror.gnu.org"
|
||||
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
|
||||
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
|
||||
BR2_JLEVEL=0
|
||||
# BR2_CCACHE is not set
|
||||
# BR2_ENABLE_DEBUG is not set
|
||||
BR2_STRIP_strip=y
|
||||
BR2_STRIP_EXCLUDE_FILES=""
|
||||
BR2_STRIP_EXCLUDE_DIRS=""
|
||||
# BR2_OPTIMIZE_0 is not set
|
||||
# BR2_OPTIMIZE_1 is not set
|
||||
# BR2_OPTIMIZE_2 is not set
|
||||
# BR2_OPTIMIZE_3 is not set
|
||||
# BR2_OPTIMIZE_G is not set
|
||||
BR2_OPTIMIZE_S=y
|
||||
# BR2_OPTIMIZE_FAST is not set
|
||||
# BR2_STATIC_LIBS is not set
|
||||
BR2_SHARED_LIBS=y
|
||||
# BR2_SHARED_STATIC_LIBS is not set
|
||||
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
|
||||
BR2_GLOBAL_PATCH_DIR=""
|
||||
|
||||
#
|
||||
# Advanced
|
||||
#
|
||||
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
|
||||
# BR2_FORCE_HOST_BUILD is not set
|
||||
# BR2_REPRODUCIBLE is not set
|
||||
# BR2_PER_PACKAGE_DIRECTORIES is not set
|
||||
|
||||
#
|
||||
# Security Hardening Options
|
||||
#
|
||||
BR2_PIC_PIE=y
|
||||
# BR2_SSP_NONE is not set
|
||||
# BR2_SSP_REGULAR is not set
|
||||
BR2_SSP_STRONG=y
|
||||
# BR2_SSP_ALL is not set
|
||||
BR2_SSP_OPTION="-fstack-protector-strong"
|
||||
# BR2_RELRO_NONE is not set
|
||||
# BR2_RELRO_PARTIAL is not set
|
||||
BR2_RELRO_FULL=y
|
||||
|
||||
#
|
||||
# Fortify Source needs a glibc toolchain and optimization
|
||||
#
|
||||
|
||||
#
|
||||
# Toolchain
|
||||
#
|
||||
BR2_TOOLCHAIN=y
|
||||
BR2_TOOLCHAIN_USES_MUSL=y
|
||||
# BR2_TOOLCHAIN_BUILDROOT is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
|
||||
#
|
||||
# Toolchain External Options
|
||||
#
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_PATH="/data/sam/sdk/cv180x_v400/host-tools/gcc/riscv64-linux-musl-x86_64"
|
||||
BR2_TOOLCHAIN_EXTERNAL_MUSL=y
|
||||
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
|
||||
BR2_TOOLCHAIN_EXTERNAL_PREFIX="riscv64-unknown-linux-musl"
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_10=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
|
||||
#
|
||||
# Toolchain Generic Options
|
||||
#
|
||||
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
|
||||
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
|
||||
BR2_USE_WCHAR=y
|
||||
BR2_ENABLE_LOCALE=y
|
||||
BR2_INSTALL_LIBSTDCPP=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
|
||||
BR2_TOOLCHAIN_HAS_SSP=y
|
||||
BR2_TOOLCHAIN_HAS_SSP_STRONG=y
|
||||
BR2_TOOLCHAIN_HAS_UCONTEXT=y
|
||||
BR2_TOOLCHAIN_SUPPORTS_PIE=y
|
||||
BR2_TOOLCHAIN_EXTRA_LIBS=""
|
||||
BR2_USE_MMU=y
|
||||
BR2_TARGET_OPTIMIZATION=""
|
||||
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
|
||||
# BR2_ECLIPSE_REGISTER is not set
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10"
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_5=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_6=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_7=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_8=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_9=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_10=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST="10"
|
||||
BR2_TOOLCHAIN_HAS_MNAN_OPTION=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_1=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_2=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_4=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_8=y
|
||||
BR2_TOOLCHAIN_HAS_LIBATOMIC=y
|
||||
BR2_TOOLCHAIN_HAS_ATOMIC=y
|
||||
|
||||
#
|
||||
# System configuration
|
||||
#
|
||||
BR2_ROOTFS_SKELETON_DEFAULT=y
|
||||
# BR2_ROOTFS_SKELETON_CUSTOM is not set
|
||||
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo"
|
||||
BR2_TARGET_GENERIC_PASSWD_SHA256=y
|
||||
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
|
||||
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
|
||||
BR2_INIT_BUSYBOX=y
|
||||
# BR2_INIT_SYSV is not set
|
||||
# BR2_INIT_OPENRC is not set
|
||||
|
||||
#
|
||||
# systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5
|
||||
#
|
||||
# BR2_INIT_NONE is not set
|
||||
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
|
||||
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
|
||||
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
|
||||
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
|
||||
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
|
||||
# BR2_ROOTFS_MERGED_USR is not set
|
||||
BR2_TARGET_ENABLE_ROOT_LOGIN=y
|
||||
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
|
||||
BR2_SYSTEM_BIN_SH_BUSYBOX=y
|
||||
|
||||
#
|
||||
# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
#
|
||||
# BR2_SYSTEM_BIN_SH_NONE is not set
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="console"
|
||||
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
|
||||
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
|
||||
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
|
||||
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
|
||||
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
|
||||
BR2_SYSTEM_DHCP=""
|
||||
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
BR2_ENABLE_LOCALE_PURGE=y
|
||||
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
|
||||
# BR2_SYSTEM_ENABLE_NLS is not set
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_ROOTFS_USERS_TABLES=""
|
||||
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo-python/overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT=""
|
||||
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT=""
|
||||
|
||||
#
|
||||
# Kernel
|
||||
#
|
||||
# BR2_LINUX_KERNEL is not set
|
||||
|
||||
#
|
||||
# Target packages
|
||||
#
|
||||
BR2_PACKAGE_BUSYBOX=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set
|
||||
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
|
||||
BR2_PACKAGE_WIRINGX=y
|
||||
BR2_PACKAGE_DUO_PINMUX=y
|
||||
BR2_PACKAGE_SKELETON=y
|
||||
BR2_PACKAGE_HAS_SKELETON=y
|
||||
BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv"
|
||||
BR2_PACKAGE_SKELETON_INIT_COMMON=y
|
||||
BR2_PACKAGE_SKELETON_INIT_SYSV=y
|
||||
|
||||
#
|
||||
# dt needs a glibc or uClibc toolchain w/ threads
|
||||
#
|
||||
# BR2_PACKAGE_DUMA is not set
|
||||
# BR2_PACKAGE_FIO is not set
|
||||
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
|
||||
BR2_PACKAGE_GDB=y
|
||||
# BR2_PACKAGE_IOZONE is not set
|
||||
|
||||
#
|
||||
# ktap needs a Linux kernel to be built
|
||||
#
|
||||
# BR2_PACKAGE_LATENCYTOP is not set
|
||||
# BR2_PACKAGE_LMBENCH is not set
|
||||
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LTP_TESTSUITE is not set
|
||||
# BR2_PACKAGE_LTTNG_BABELTRACE is not set
|
||||
|
||||
#
|
||||
# Development tools
|
||||
#
|
||||
BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
|
||||
|
||||
#
|
||||
# Filesystem and flash utilities
|
||||
#
|
||||
# BR2_PACKAGE_ABOOTIMG is not set
|
||||
|
||||
#
|
||||
# davfs2 needs a glibc or uClibc toolchain
|
||||
#
|
||||
# BR2_PACKAGE_DOSFSTOOLS is not set
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set
|
||||
# BR2_PACKAGE_E2FSPROGS_E2IMAGE is not set
|
||||
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
|
||||
#
|
||||
# e2scrub needs bash, coreutils, lvm2, and util-linux
|
||||
#
|
||||
# BR2_PACKAGE_E2FSPROGS_E4DEFRAG is not set
|
||||
BR2_PACKAGE_E2FSPROGS_FSCK=y
|
||||
# BR2_PACKAGE_E2FSPROGS_FUSE2FS is not set
|
||||
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
||||
|
||||
#
|
||||
# eudev needs eudev /dev management
|
||||
#
|
||||
# BR2_PACKAGE_EVEMU is not set
|
||||
BR2_PACKAGE_EVTEST=y
|
||||
# BR2_PACKAGE_FAN_CTRL is not set
|
||||
# BR2_PACKAGE_FCONFIG is not set
|
||||
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
|
||||
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON3_PY_PYC=y
|
||||
BR2_PACKAGE_PYTHON_LXML=y
|
||||
BR2_PACKAGE_PYTHON_PIP=y
|
||||
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
|
||||
BR2_PACKAGE_PYTHON3_SSL=y
|
||||
|
||||
BR2_PACKAGE_PYTHON_SERIAL=y
|
||||
BR2_PACKAGE_PYTHON_PILLOW=y
|
||||
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
|
||||
BR2_PACKAGE_PYTHON_SPIDEV=y
|
||||
BR2_PACKAGE_PYTHON_MODBUS_TK=y
|
||||
BR2_PACKAGE_PYTHON_EVDEV=y
|
||||
BR2_PACKAGE_PYTHON_FREETYPE=y
|
||||
|
||||
BR2_PACKAGE_PYTHON_PINPONG=y
|
||||
|
||||
#
|
||||
# Compression and decompression
|
||||
#
|
||||
BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib"
|
||||
# BR2_PACKAGE_ZZIPLIB is not set
|
||||
|
||||
#
|
||||
# Crypto
|
||||
#
|
||||
# BR2_PACKAGE_BEARSSL is not set
|
||||
# BR2_PACKAGE_BEECRYPT is not set
|
||||
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_BOTAN is not set
|
||||
# BR2_PACKAGE_CA_CERTIFICATES is not set
|
||||
|
||||
#
|
||||
# cryptodev needs a Linux kernel to be built
|
||||
#
|
||||
BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LIBGPG_ERROR is not set
|
||||
BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu"
|
||||
BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl"
|
||||
|
||||
BR2_PACKAGE_FREETYPE=y
|
||||
|
||||
#
|
||||
# JSON/XML
|
||||
#
|
||||
BR2_PACKAGE_JSON_C=y
|
||||
|
||||
#
|
||||
# Multimedia
|
||||
#
|
||||
BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LIBCAMERA is not set
|
||||
|
||||
#
|
||||
# libcgroup needs a glibc toolchain w/ C++
|
||||
#
|
||||
BR2_PACKAGE_MUSL_COMPAT_HEADERS=y
|
||||
# BR2_PACKAGE_MUSL_FTS is not set
|
||||
# BR2_PACKAGE_ORC is not set
|
||||
# BR2_PACKAGE_P11_KIT is not set
|
||||
BR2_PACKAGE_POCO_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_POCO is not set
|
||||
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_PROTOBUF is not set
|
||||
# BR2_PACKAGE_PROTOBUF_C is not set
|
||||
|
||||
#
|
||||
# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9
|
||||
#
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set
|
||||
|
||||
#
|
||||
# emlog needs a Linux kernel to be built
|
||||
#
|
||||
BR2_PACKAGE_HTOP=y
|
||||
BR2_PACKAGE_INITSCRIPTS=y
|
||||
|
||||
#
|
||||
# iotop depends on python or python3
|
||||
#
|
||||
# BR2_PACKAGE_IPRUTILS is not set
|
||||
# BR2_PACKAGE_IRQBALANCE is not set
|
||||
# BR2_PACKAGE_KEYUTILS is not set
|
||||
BR2_PACKAGE_KMOD=y
|
||||
|
||||
#
|
||||
# unscd needs a glibc toolchain
|
||||
#
|
||||
BR2_PACKAGE_UTIL_LINUX=y
|
||||
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
|
||||
# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set
|
||||
# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set
|
||||
# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set
|
||||
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
|
||||
|
||||
#
|
||||
# su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library
|
||||
#
|
||||
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
|
||||
|
||||
#
|
||||
# Filesystem images
|
||||
#
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
# BR2_TARGET_ROOTFS_EXT2_2r0 is not set
|
||||
# BR2_TARGET_ROOTFS_EXT2_2r1 is not set
|
||||
# BR2_TARGET_ROOTFS_EXT2_3 is not set
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_ROOTFS_EXT2_GEN=4
|
||||
BR2_TARGET_ROOTFS_EXT2_REV=1
|
||||
BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs"
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
|
||||
BR2_TARGET_ROOTFS_EXT2_INODES=0
|
||||
BR2_TARGET_ROOTFS_EXT2_RESBLKS=5
|
||||
BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit"
|
||||
BR2_TARGET_ROOTFS_EXT2_NONE=y
|
||||
|
||||
#
|
||||
# initramfs needs a Linux kernel to be built
|
||||
#
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
BR2_TARGET_ROOTFS_TAR_XZ=y
|
||||
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
|
||||
|
||||
#
|
||||
# Host utilities
|
||||
#
|
||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||
BR2_PACKAGE_HOST_UTIL_LINUX=y
|
||||
|
||||
#
|
||||
# Legacy options removed in 2019.11
|
||||
#
|
||||
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS=""
|
||||
|
||||
#
|
||||
# Legacy options removed in 2017.08
|
||||
#
|
||||
# BR2_TARGET_GRUB is not set
|
||||
# BR2_PACKAGE_SIMICSFS is not set
|
||||
# BR2_BINUTILS_VERSION_2_26_X is not set
|
||||
BR2_XTENSA_OVERLAY_DIR=""
|
||||
BR2_XTENSA_CUSTOM_NAME=""
|
||||
# BR2_PACKAGE_HOST_MKE2IMG is not set
|
||||
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
|
||||
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
|
||||
|
||||
#
|
||||
# Legacy options removed in 2017.05
|
||||
#
|
||||
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
|
||||
|
||||
BR2_PACKAGE_SPIDEV_TEST=y
|
||||
BR2_PACKAGE_STRACE=y
|
||||
|
||||
#
|
||||
# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads
|
||||
#
|
||||
|
||||
BR2_PACKAGE_DHCPCD=y
|
||||
BR2_PACKAGE_DNSMASQ=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
BR2_PACKAGE_DROPBEAR_CLIENT=y
|
||||
# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set
|
||||
BR2_PACKAGE_DROPBEAR_SMALL=y
|
||||
# BR2_PACKAGE_DROPBEAR_WTMP is not set
|
||||
# BR2_PACKAGE_DROPBEAR_LASTLOG is not set
|
||||
# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set
|
||||
# BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE=""
|
||||
|
||||
BR2_PACKAGE_NTP=y
|
||||
BR2_PACKAGE_NTP_NTPDATE=y
|
||||
BR2_PACKAGE_NTP_NTPTIME=y
|
||||
@ -0,0 +1,486 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Buildroot -g8c59e72e33-dirty Configuration
|
||||
#
|
||||
BR2_HAVE_DOT_CONFIG=y
|
||||
BR2_HOST_GCC_AT_LEAST_4_9=y
|
||||
BR2_HOST_GCC_AT_LEAST_5=y
|
||||
BR2_HOST_GCC_AT_LEAST_6=y
|
||||
BR2_HOST_GCC_AT_LEAST_7=y
|
||||
|
||||
#
|
||||
# Target options
|
||||
#
|
||||
BR2_ARCH_IS_64=y
|
||||
BR2_ARCH_HAS_MMU_MANDATORY=y
|
||||
BR2_riscv=y
|
||||
BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y
|
||||
BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y
|
||||
BR2_ARCH="riscv64"
|
||||
BR2_ENDIAN="LITTLE"
|
||||
BR2_GCC_TARGET_ABI="lp64d"
|
||||
BR2_BINFMT_SUPPORTS_SHARED=y
|
||||
BR2_READELF_ARCH_NAME="RISC-V"
|
||||
BR2_BINFMT_ELF=y
|
||||
BR2_RISCV_ISA_RVI=y
|
||||
BR2_RISCV_ISA_RVM=y
|
||||
BR2_RISCV_ISA_RVA=y
|
||||
BR2_RISCV_ISA_RVF=y
|
||||
BR2_RISCV_ISA_RVD=y
|
||||
BR2_riscv_g=y
|
||||
# BR2_riscv_custom is not set
|
||||
# BR2_RISCV_32 is not set
|
||||
BR2_RISCV_64=y
|
||||
# BR2_RISCV_ABI_LP64 is not set
|
||||
# BR2_RISCV_ABI_LP64F is not set
|
||||
BR2_RISCV_ABI_LP64D=y
|
||||
|
||||
#
|
||||
# Build options
|
||||
#
|
||||
|
||||
#
|
||||
# Commands
|
||||
#
|
||||
BR2_WGET="wget --passive-ftp -nd -t 3"
|
||||
BR2_SVN="svn --non-interactive"
|
||||
BR2_BZR="bzr"
|
||||
BR2_GIT="git"
|
||||
BR2_CVS="cvs"
|
||||
BR2_LOCALFILES="cp"
|
||||
BR2_SCP="scp"
|
||||
BR2_HG="hg"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_XZCAT="xzcat"
|
||||
BR2_LZCAT="lzip -d -c"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DEFCONFIG="./configs/milkv-duo256m-python_musl_riscv64_defconfig"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_HOST_DIR="$(BASE_DIR)/host"
|
||||
|
||||
#
|
||||
# Mirrors and Download locations
|
||||
#
|
||||
BR2_PRIMARY_SITE=""
|
||||
BR2_BACKUP_SITE="http://sources.buildroot.net"
|
||||
BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub"
|
||||
BR2_GNU_MIRROR="http://ftpmirror.gnu.org"
|
||||
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
|
||||
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
|
||||
BR2_JLEVEL=0
|
||||
# BR2_CCACHE is not set
|
||||
# BR2_ENABLE_DEBUG is not set
|
||||
BR2_STRIP_strip=y
|
||||
BR2_STRIP_EXCLUDE_FILES=""
|
||||
BR2_STRIP_EXCLUDE_DIRS=""
|
||||
# BR2_OPTIMIZE_0 is not set
|
||||
# BR2_OPTIMIZE_1 is not set
|
||||
# BR2_OPTIMIZE_2 is not set
|
||||
# BR2_OPTIMIZE_3 is not set
|
||||
# BR2_OPTIMIZE_G is not set
|
||||
BR2_OPTIMIZE_S=y
|
||||
# BR2_OPTIMIZE_FAST is not set
|
||||
# BR2_STATIC_LIBS is not set
|
||||
BR2_SHARED_LIBS=y
|
||||
# BR2_SHARED_STATIC_LIBS is not set
|
||||
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
|
||||
BR2_GLOBAL_PATCH_DIR=""
|
||||
|
||||
#
|
||||
# Advanced
|
||||
#
|
||||
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
|
||||
# BR2_FORCE_HOST_BUILD is not set
|
||||
# BR2_REPRODUCIBLE is not set
|
||||
# BR2_PER_PACKAGE_DIRECTORIES is not set
|
||||
|
||||
#
|
||||
# Security Hardening Options
|
||||
#
|
||||
BR2_PIC_PIE=y
|
||||
# BR2_SSP_NONE is not set
|
||||
# BR2_SSP_REGULAR is not set
|
||||
BR2_SSP_STRONG=y
|
||||
# BR2_SSP_ALL is not set
|
||||
BR2_SSP_OPTION="-fstack-protector-strong"
|
||||
# BR2_RELRO_NONE is not set
|
||||
# BR2_RELRO_PARTIAL is not set
|
||||
BR2_RELRO_FULL=y
|
||||
|
||||
#
|
||||
# Fortify Source needs a glibc toolchain and optimization
|
||||
#
|
||||
|
||||
#
|
||||
# Toolchain
|
||||
#
|
||||
BR2_TOOLCHAIN=y
|
||||
BR2_TOOLCHAIN_USES_MUSL=y
|
||||
# BR2_TOOLCHAIN_BUILDROOT is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
|
||||
#
|
||||
# Toolchain External Options
|
||||
#
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_PATH="/data/sam/sdk/cv180x_v400/host-tools/gcc/riscv64-linux-musl-x86_64"
|
||||
BR2_TOOLCHAIN_EXTERNAL_MUSL=y
|
||||
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
|
||||
BR2_TOOLCHAIN_EXTERNAL_PREFIX="riscv64-unknown-linux-musl"
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_10=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
|
||||
#
|
||||
# Toolchain Generic Options
|
||||
#
|
||||
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
|
||||
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
|
||||
BR2_USE_WCHAR=y
|
||||
BR2_ENABLE_LOCALE=y
|
||||
BR2_INSTALL_LIBSTDCPP=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
|
||||
BR2_TOOLCHAIN_HAS_SSP=y
|
||||
BR2_TOOLCHAIN_HAS_SSP_STRONG=y
|
||||
BR2_TOOLCHAIN_HAS_UCONTEXT=y
|
||||
BR2_TOOLCHAIN_SUPPORTS_PIE=y
|
||||
BR2_TOOLCHAIN_EXTRA_LIBS=""
|
||||
BR2_USE_MMU=y
|
||||
BR2_TARGET_OPTIMIZATION=""
|
||||
BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d"
|
||||
# BR2_ECLIPSE_REGISTER is not set
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10"
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_10=y
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST="10"
|
||||
BR2_TOOLCHAIN_HAS_MNAN_OPTION=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_1=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_2=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_4=y
|
||||
BR2_TOOLCHAIN_HAS_SYNC_8=y
|
||||
BR2_TOOLCHAIN_HAS_LIBATOMIC=y
|
||||
BR2_TOOLCHAIN_HAS_ATOMIC=y
|
||||
|
||||
#
|
||||
# System configuration
|
||||
#
|
||||
BR2_ROOTFS_SKELETON_DEFAULT=y
|
||||
# BR2_ROOTFS_SKELETON_CUSTOM is not set
|
||||
BR2_TARGET_GENERIC_HOSTNAME="milkv-duo"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo 256M"
|
||||
BR2_TARGET_GENERIC_PASSWD_SHA256=y
|
||||
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
|
||||
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
|
||||
BR2_INIT_BUSYBOX=y
|
||||
# BR2_INIT_SYSV is not set
|
||||
# BR2_INIT_OPENRC is not set
|
||||
|
||||
#
|
||||
# systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5
|
||||
#
|
||||
# BR2_INIT_NONE is not set
|
||||
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
|
||||
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
|
||||
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
|
||||
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
|
||||
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
|
||||
# BR2_ROOTFS_MERGED_USR is not set
|
||||
BR2_TARGET_ENABLE_ROOT_LOGIN=y
|
||||
BR2_TARGET_GENERIC_ROOT_PASSWD="milkv"
|
||||
BR2_SYSTEM_BIN_SH_BUSYBOX=y
|
||||
|
||||
#
|
||||
# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
#
|
||||
# BR2_SYSTEM_BIN_SH_NONE is not set
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="console"
|
||||
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
|
||||
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
|
||||
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
|
||||
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
|
||||
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
|
||||
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
|
||||
BR2_SYSTEM_DHCP=""
|
||||
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
BR2_ENABLE_LOCALE_PURGE=y
|
||||
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
|
||||
# BR2_SYSTEM_ENABLE_NLS is not set
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_ROOTFS_USERS_TABLES=""
|
||||
BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo256m-python/overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT=""
|
||||
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT=""
|
||||
|
||||
#
|
||||
# Kernel
|
||||
#
|
||||
# BR2_LINUX_KERNEL is not set
|
||||
|
||||
#
|
||||
# Target packages
|
||||
#
|
||||
BR2_PACKAGE_BUSYBOX=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set
|
||||
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
|
||||
BR2_PACKAGE_SKELETON=y
|
||||
BR2_PACKAGE_HAS_SKELETON=y
|
||||
BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv"
|
||||
BR2_PACKAGE_SKELETON_INIT_COMMON=y
|
||||
BR2_PACKAGE_SKELETON_INIT_SYSV=y
|
||||
|
||||
#
|
||||
# dt needs a glibc or uClibc toolchain w/ threads
|
||||
#
|
||||
# BR2_PACKAGE_DUMA is not set
|
||||
# BR2_PACKAGE_FIO is not set
|
||||
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
|
||||
BR2_PACKAGE_GDB=y
|
||||
# BR2_PACKAGE_IOZONE is not set
|
||||
|
||||
#
|
||||
# ktap needs a Linux kernel to be built
|
||||
#
|
||||
# BR2_PACKAGE_LATENCYTOP is not set
|
||||
# BR2_PACKAGE_LMBENCH is not set
|
||||
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LTP_TESTSUITE is not set
|
||||
# BR2_PACKAGE_LTTNG_BABELTRACE is not set
|
||||
|
||||
#
|
||||
# Development tools
|
||||
#
|
||||
BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
|
||||
|
||||
#
|
||||
# Filesystem and flash utilities
|
||||
#
|
||||
# BR2_PACKAGE_ABOOTIMG is not set
|
||||
|
||||
#
|
||||
# davfs2 needs a glibc or uClibc toolchain
|
||||
#
|
||||
# BR2_PACKAGE_DOSFSTOOLS is not set
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set
|
||||
# BR2_PACKAGE_E2FSPROGS_E2IMAGE is not set
|
||||
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
|
||||
#
|
||||
# e2scrub needs bash, coreutils, lvm2, and util-linux
|
||||
#
|
||||
# BR2_PACKAGE_E2FSPROGS_E4DEFRAG is not set
|
||||
BR2_PACKAGE_E2FSPROGS_FSCK=y
|
||||
# BR2_PACKAGE_E2FSPROGS_FUSE2FS is not set
|
||||
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
||||
|
||||
#
|
||||
# eudev needs eudev /dev management
|
||||
#
|
||||
# BR2_PACKAGE_EVEMU is not set
|
||||
BR2_PACKAGE_EVTEST=y
|
||||
# BR2_PACKAGE_FAN_CTRL is not set
|
||||
# BR2_PACKAGE_FCONFIG is not set
|
||||
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
|
||||
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON3_PY_PYC=y
|
||||
BR2_PACKAGE_PYTHON_LXML=y
|
||||
BR2_PACKAGE_PYTHON_PIP=y
|
||||
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
|
||||
BR2_PACKAGE_PYTHON3_SSL=y
|
||||
|
||||
BR2_PACKAGE_PYTHON_SERIAL=y
|
||||
BR2_PACKAGE_PYTHON_PILLOW=y
|
||||
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
|
||||
BR2_PACKAGE_PYTHON_SPIDEV=y
|
||||
BR2_PACKAGE_PYTHON_MODBUS_TK=y
|
||||
BR2_PACKAGE_PYTHON_EVDEV=y
|
||||
BR2_PACKAGE_PYTHON_FREETYPE=y
|
||||
|
||||
#
|
||||
# Compression and decompression
|
||||
#
|
||||
BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib"
|
||||
# BR2_PACKAGE_ZZIPLIB is not set
|
||||
|
||||
#
|
||||
# Crypto
|
||||
#
|
||||
# BR2_PACKAGE_BEARSSL is not set
|
||||
# BR2_PACKAGE_BEECRYPT is not set
|
||||
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_BOTAN is not set
|
||||
# BR2_PACKAGE_CA_CERTIFICATES is not set
|
||||
|
||||
#
|
||||
# cryptodev needs a Linux kernel to be built
|
||||
#
|
||||
BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LIBGPG_ERROR is not set
|
||||
BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu"
|
||||
BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl"
|
||||
|
||||
BR2_PACKAGE_FREETYPE=y
|
||||
|
||||
#
|
||||
# JSON/XML
|
||||
#
|
||||
BR2_PACKAGE_JSON_C=y
|
||||
|
||||
#
|
||||
# Multimedia
|
||||
#
|
||||
BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LIBCAMERA is not set
|
||||
|
||||
#
|
||||
# libcgroup needs a glibc toolchain w/ C++
|
||||
#
|
||||
BR2_PACKAGE_MUSL_COMPAT_HEADERS=y
|
||||
# BR2_PACKAGE_MUSL_FTS is not set
|
||||
# BR2_PACKAGE_ORC is not set
|
||||
# BR2_PACKAGE_P11_KIT is not set
|
||||
BR2_PACKAGE_POCO_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_POCO is not set
|
||||
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_PROTOBUF is not set
|
||||
# BR2_PACKAGE_PROTOBUF_C is not set
|
||||
|
||||
#
|
||||
# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9
|
||||
#
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set
|
||||
|
||||
#
|
||||
# emlog needs a Linux kernel to be built
|
||||
#
|
||||
BR2_PACKAGE_HTOP=y
|
||||
BR2_PACKAGE_INITSCRIPTS=y
|
||||
|
||||
#
|
||||
# iotop depends on python or python3
|
||||
#
|
||||
# BR2_PACKAGE_IPRUTILS is not set
|
||||
# BR2_PACKAGE_IRQBALANCE is not set
|
||||
# BR2_PACKAGE_KEYUTILS is not set
|
||||
BR2_PACKAGE_KMOD=y
|
||||
|
||||
#
|
||||
# unscd needs a glibc toolchain
|
||||
#
|
||||
BR2_PACKAGE_UTIL_LINUX=y
|
||||
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
|
||||
# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set
|
||||
# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set
|
||||
# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set
|
||||
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
|
||||
|
||||
#
|
||||
# su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library
|
||||
#
|
||||
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
|
||||
|
||||
#
|
||||
# Filesystem images
|
||||
#
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
# BR2_TARGET_ROOTFS_EXT2_2r0 is not set
|
||||
# BR2_TARGET_ROOTFS_EXT2_2r1 is not set
|
||||
# BR2_TARGET_ROOTFS_EXT2_3 is not set
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_ROOTFS_EXT2_GEN=4
|
||||
BR2_TARGET_ROOTFS_EXT2_REV=1
|
||||
BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs"
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
|
||||
BR2_TARGET_ROOTFS_EXT2_INODES=0
|
||||
BR2_TARGET_ROOTFS_EXT2_RESBLKS=5
|
||||
BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit"
|
||||
BR2_TARGET_ROOTFS_EXT2_NONE=y
|
||||
|
||||
#
|
||||
# initramfs needs a Linux kernel to be built
|
||||
#
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
BR2_TARGET_ROOTFS_TAR_XZ=y
|
||||
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
|
||||
|
||||
#
|
||||
# Host utilities
|
||||
#
|
||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||
BR2_PACKAGE_HOST_UTIL_LINUX=y
|
||||
|
||||
#
|
||||
# Legacy options removed in 2019.11
|
||||
#
|
||||
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS=""
|
||||
|
||||
#
|
||||
# Legacy options removed in 2017.08
|
||||
#
|
||||
# BR2_TARGET_GRUB is not set
|
||||
# BR2_PACKAGE_SIMICSFS is not set
|
||||
# BR2_BINUTILS_VERSION_2_26_X is not set
|
||||
BR2_XTENSA_OVERLAY_DIR=""
|
||||
BR2_XTENSA_CUSTOM_NAME=""
|
||||
# BR2_PACKAGE_HOST_MKE2IMG is not set
|
||||
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
|
||||
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
|
||||
|
||||
#
|
||||
# Legacy options removed in 2017.05
|
||||
#
|
||||
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
|
||||
|
||||
BR2_PACKAGE_SPIDEV_TEST=y
|
||||
BR2_PACKAGE_STRACE=y
|
||||
|
||||
#
|
||||
# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads
|
||||
#
|
||||
|
||||
BR2_PACKAGE_DHCPCD=y
|
||||
BR2_PACKAGE_DNSMASQ=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
BR2_PACKAGE_DROPBEAR_CLIENT=y
|
||||
# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set
|
||||
BR2_PACKAGE_DROPBEAR_SMALL=y
|
||||
# BR2_PACKAGE_DROPBEAR_WTMP is not set
|
||||
# BR2_PACKAGE_DROPBEAR_LASTLOG is not set
|
||||
# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set
|
||||
# BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE=""
|
||||
|
||||
BR2_PACKAGE_NTP=y
|
||||
BR2_PACKAGE_NTP_NTPDATE=y
|
||||
BR2_PACKAGE_NTP_NTPTIME=y
|
||||
@ -331,23 +331,6 @@ BR2_PACKAGE_EVTEST=y
|
||||
# BR2_PACKAGE_FCONFIG is not set
|
||||
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
|
||||
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON3_PY_PYC=y
|
||||
BR2_PACKAGE_PYTHON_LXML=y
|
||||
BR2_PACKAGE_PYTHON_PIP=y
|
||||
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
|
||||
BR2_PACKAGE_PYTHON3_SSL=y
|
||||
|
||||
BR2_PACKAGE_PYTHON_SERIAL=y
|
||||
BR2_PACKAGE_PYTHON_PILLOW=y
|
||||
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
|
||||
BR2_PACKAGE_PYTHON_SPIDEV=y
|
||||
BR2_PACKAGE_PYTHON_MODBUS_TK=y
|
||||
BR2_PACKAGE_PYTHON_EVDEV=y
|
||||
BR2_PACKAGE_PYTHON_FREETYPE=y
|
||||
|
||||
BR2_PACKAGE_PYTHON_PINPONG=y
|
||||
|
||||
#
|
||||
# Compression and decompression
|
||||
#
|
||||
|
||||
8
device/milkv-duo-python/boardconfig.sh
Normal file
8
device/milkv-duo-python/boardconfig.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
export MV_BOARD=milkv-duo-python
|
||||
export MV_BOARD_CPU=cv1800b
|
||||
export MV_VENDOR=milkv
|
||||
export MV_BUILD_ENV=milkvsetup.sh
|
||||
export MV_BOARD_LINK=cv1800b_milkv_duo_sd
|
||||
|
||||
38
device/milkv-duo-python/genimage.cfg
Normal file
38
device/milkv-duo-python/genimage.cfg
Normal file
@ -0,0 +1,38 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
label = "boot"
|
||||
files = {
|
||||
"fip.bin",
|
||||
"rawimages/boot.sd",
|
||||
}
|
||||
}
|
||||
size = 128M
|
||||
}
|
||||
|
||||
image rootfs.ext4 {
|
||||
ext4 {
|
||||
label = "rootfs"
|
||||
}
|
||||
size = 768M
|
||||
}
|
||||
|
||||
image milkv-duo-python.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
|
||||
partition empty {
|
||||
partition-type-uuid = 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f
|
||||
size = 256M
|
||||
}
|
||||
}
|
||||
1
device/milkv-duo-python/overlay
Symbolic link
1
device/milkv-duo-python/overlay
Symbolic link
@ -0,0 +1 @@
|
||||
../milkv-duo/overlay
|
||||
8
device/milkv-duo256m-python/boardconfig.sh
Normal file
8
device/milkv-duo256m-python/boardconfig.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
export MV_BOARD=milkv-duo256m-python
|
||||
export MV_BOARD_CPU=cv1812cp
|
||||
export MV_VENDOR=milkv
|
||||
export MV_BUILD_ENV=milkvsetup.sh
|
||||
export MV_BOARD_LINK=cv1812cp_milkv_duo256m_sd
|
||||
|
||||
33
device/milkv-duo256m-python/genimage.cfg
Normal file
33
device/milkv-duo256m-python/genimage.cfg
Normal file
@ -0,0 +1,33 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
label = "boot"
|
||||
files = {
|
||||
"fip.bin",
|
||||
"rawimages/boot.sd",
|
||||
}
|
||||
}
|
||||
size = 128M
|
||||
}
|
||||
|
||||
image rootfs.ext4 {
|
||||
ext4 {
|
||||
label = "rootfs"
|
||||
}
|
||||
size = 768M
|
||||
}
|
||||
|
||||
image milkv-duo256m-python.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
1
device/milkv-duo256m-python/overlay
Symbolic link
1
device/milkv-duo256m-python/overlay
Symbolic link
@ -0,0 +1 @@
|
||||
../milkv-duo256m/overlay/
|
||||
Reference in New Issue
Block a user