Compare commits

..

3 Commits

Author SHA1 Message Date
Lu
f3ea496a1a fix pwm driver, thank sophgo 2024-05-13 18:03:29 +08:00
Lu
83ed7eae08 resize part & file system in initramfs 2024-05-13 17:13:24 +08:00
Lu
e73f5de35d allow user custom dns server 2024-05-13 15:30:26 +08:00
10 changed files with 166 additions and 7 deletions

View File

@@ -8,6 +8,11 @@ then
then
cp -vf /boot/sshd_config /etc/ssh/sshd_config
fi
if [ -e /boot/resolv.conf ]
then
rm -rf /etc/resolv.conf
cp -vf /boot/resolv.conf /etc/resolv.conf
fi
if [ -e /boot/input-event-daemon ]
then
if [ ! -e /etc/input-event-daemon.conf ]

View File

@@ -0,0 +1,127 @@
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
ACTION="$1"
RESOLV_CONF="/etc/resolv.conf"
if [ -e /boot/resolv.conf ]
then
RESOLV_CONF="/etc/resolv.conf.dhcp"
fi
[ -e $RESOLV_CONF ] || touch $RESOLV_CONF
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
# Handle stateful DHCPv6 like DHCPv4
[ -n "$ipv6" ] && ip="$ipv6/128"
if [ -z "${IF_WAIT_DELAY}" ]; then
IF_WAIT_DELAY=10
fi
wait_for_ipv6_default_route() {
printf "Waiting for IPv6 default route to appear"
while [ $IF_WAIT_DELAY -gt 0 ]; do
if ip -6 route list | grep -q default; then
printf "\n"
return
fi
sleep 1
printf "."
: $((IF_WAIT_DELAY -= 1))
done
printf " timeout!\n"
}
case "$ACTION" in
deconfig)
/sbin/ifconfig $interface up
/sbin/ifconfig $interface 0.0.0.0
# drop info from this interface
# resolv.conf may be a symlink to /tmp/, so take care
TMPFILE=$(mktemp)
grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE
cat $TMPFILE > $RESOLV_CONF
rm -f $TMPFILE
if [ -x /usr/sbin/avahi-autoipd ]; then
/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface
fi
;;
leasefail|nak)
if [ -x /usr/sbin/avahi-autoipd ]; then
/usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot
fi
;;
renew|bound)
if [ -x /usr/sbin/avahi-autoipd ]; then
/usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface
fi
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$ipv6" ] ; then
wait_for_ipv6_default_route
fi
# RFC3442: If the DHCP server returns both a Classless
# Static Routes option and a Router option, the DHCP
# client MUST ignore the Router option.
if [ -n "$staticroutes" ]; then
echo "deleting routers"
route -n | while read dest gw mask flags metric ref use iface; do
[ "$iface" != "$interface" -o "$gw" = "0.0.0.0" ] || \
route del -net "$dest" netmask "$mask" gw "$gw" dev "$interface"
done
# format: dest1/mask gw1 ... destn/mask gwn
set -- $staticroutes
while [ -n "$1" -a -n "$2" ]; do
route add -net "$1" gw "$2" dev "$interface"
shift 2
done
elif [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do
:
done
for i in $router ; do
route add default gw $i dev $interface
done
fi
# drop info from this interface
# resolv.conf may be a symlink to /tmp/, so take care
TMPFILE=$(mktemp)
grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE
cat $TMPFILE > $RESOLV_CONF
rm -f $TMPFILE
# prefer rfc3397 domain search list (option 119) if available
if [ -n "$search" ]; then
search_list=$search
elif [ -n "$domain" ]; then
search_list=$domain
fi
[ -n "$search_list" ] &&
echo "search $search_list # $interface" >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo "nameserver $i # $interface" >> $RESOLV_CONF
done
;;
esac
HOOK_DIR="$0.d"
for hook in "${HOOK_DIR}/"*; do
[ -f "${hook}" -a -x "${hook}" ] || continue
"${hook}" "$ACTION"
done
exit 0

View File

@@ -191,6 +191,12 @@ static int pwm_cv_apply(struct pwm_chip *chip, struct pwm_device *pwm,
return ret;
}
ret = pwm_cv_set_polarity(chip, pwm, state->polarity);
if (ret) {
dev_err(chip->dev, "pwm apply err\n");
return ret;
}
dev_dbg(chip->dev, "pwm_cv_apply state->enabled = %d\n", state->enabled);
if (state->enabled)
ret = pwm_cv_enable(chip, pwm);
@@ -244,7 +250,8 @@ static int pwm_cv_capture(struct pwm_chip *chip, struct pwm_device *pwm_dev,
result->duty_cycle = 0;
// Disable capture
writel(0x0, our_chip->base + REG_FREQEN);
value = readl(our_chip->base + REG_FREQEN) & (~(1 << (pwm_dev->hwpwm)));
writel(value, our_chip->base + REG_FREQEN);
return 0;
}
@@ -255,8 +262,8 @@ static const struct pwm_ops pwm_cv_ops = {
.enable = pwm_cv_enable,
.disable = pwm_cv_disable,
.config = pwm_cv_config,
.set_polarity = pwm_cv_set_polarity,
/* .apply = pwm_cv_apply, */
// .set_polarity = pwm_cv_set_polarity,
.apply = pwm_cv_apply,
.capture = pwm_cv_capture,
.owner = THIS_MODULE,
};
@@ -284,6 +291,8 @@ static int pwm_cv_probe(struct platform_device *pdev)
chip->chip.ops = &pwm_cv_ops;
chip->chip.base = -1;
chip->polarity_mask = 0;
chip->chip.of_xlate = of_pwm_xlate_with_flags;
chip->chip.of_pwm_n_cells = 3;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
chip->base = devm_ioremap_resource(&pdev->dev, res);

View File

@@ -11,6 +11,8 @@ file /init ../target/init 775 0 0
file /busybox ../target/busybox 775 0 0
file /e2fsck ../target/e2fsck 775 0 0
file /resize2fs ../target/resize2fs 775 0 0
file /parted ../target/parted 775 0 0
file /libc.so ../target/libc.so 775 0 0
dir /proc 755 0 0
dir /sys 755 0 0

View File

@@ -11,6 +11,8 @@ file /init ../target/init 775 0 0
file /busybox ../target/busybox 775 0 0
file /e2fsck ../target/e2fsck 775 0 0
file /resize2fs ../target/resize2fs 775 0 0
file /parted ../target/parted 775 0 0
file /libc.so ../target/libc.so 775 0 0
dir /proc 755 0 0
dir /sys 755 0 0

View File

@@ -11,6 +11,8 @@ file /init ../target/init 775 0 0
file /busybox ../target/busybox 775 0 0
file /e2fsck ../target/e2fsck 775 0 0
file /resize2fs ../target/resize2fs 775 0 0
file /parted ../target/parted 775 0 0
file /libc.so ../target/libc.so 775 0 0
dir /proc 755 0 0
dir /sys 755 0 0

View File

@@ -11,6 +11,8 @@ file /init ../target/init 775 0 0
file /busybox ../target/busybox 775 0 0
file /e2fsck ../target/e2fsck 775 0 0
file /resize2fs ../target/resize2fs 775 0 0
file /parted ../target/parted 775 0 0
file /libc.so ../target/libc.so 775 0 0
dir /proc 755 0 0
dir /sys 755 0 0

View File

@@ -47,23 +47,29 @@ msc() {
echo /dev/mmcblk0 > functions/mass_storage.disk0/lun.0/file
ls /sys/class/udc/ | cat > UDC
echo device > /proc/cviusb/otg_role
(
while true
do
sleep 10
sync
done
) &
/busybox sh
exit
}
mkdir /dev
set -x
mkdir -p /dev
mount -t devtmpfs devtmpfs /dev
mkdir /proc
mkdir -p /proc
mount -t proc proc /proc
mkdir /sys
mkdir -p /sys
mount -t sysfs sysfs /sys
mount -t configfs configfs /sys/kernel/config
mount -t debugfs debugfs /sys/kernel/debug
mkdir /boot
mkdir -p /boot
mount -o ro /dev/mmcblk0p1 /boot
msc=0
@@ -86,6 +92,10 @@ then
fi
mkdir /realroot
parted -s /dev/mmcblk0 "resizepart 2 -0"
echo "yes
100%
" | parted ---pretend-input-tty /dev/mmcblk0 "resizepart 2 100%"
e2fsck -fvp /dev/mmcblk0p2
resize2fs /dev/mmcblk0p2
mount -o rw /dev/mmcblk0p2 /realroot

Binary file not shown.

Binary file not shown.