Compare commits

..

14 Commits

Author SHA1 Message Date
Ricardo Martins
b6a866422a lctr-a6xx: reboot on kernel panic. 2014-10-16 17:51:33 +01:00
Ricardo Martins
9c879ac1ad lctr-a6xx: include kallsyms in kernel. 2014-10-16 17:51:14 +01:00
Ricardo Martins
28e3a2f4b0 filesystem: removed obsolete script mobile-internet. 2014-10-06 19:06:23 +01:00
Ricardo Martins
5c5c8ea50d lctr-a6xx: removed europa related packages. 2014-10-03 09:49:46 +01:00
Ricardo Martins
58bd6dded1 lctr-a9xx: added manta-13 and manta-14. 2014-09-27 17:13:31 +01:00
Ricardo Martins
187a2bebd4 lctr-a6xx: lauv-dolphin-2 and lauv-dolphin-3 use ESCC 104-ET boards. 2014-09-26 10:26:03 +01:00
Ricardo Martins
60f8ef41fc escc: updated version, added support for ET boards. 2014-09-26 10:25:37 +01:00
Ricardo Martins
8baaca2665 Added prefix to all folders. 2014-09-09 19:22:13 +01:00
Ricardo Martins
fa0956a7f9 lctr-a6xx: added lauv-dolphin-3. 2014-09-08 17:49:37 +01:00
Ricardo Martins
3142a7f473 lctr-a6xx: added lauv-dolphin-2. 2014-09-08 17:49:33 +01:00
Ricardo Martins
9906a6f9dc filesystem: added /mnt folder. 2014-08-11 22:07:21 +01:00
Ricardo Martins
e1137a4ee5 filesystem: using alternate method for IGEPv2 detection. 2014-08-11 21:02:08 +01:00
Ricardo Martins
d1aede925a Preparing v1.9.12. 2014-08-11 17:09:00 +01:00
Ricardo Martins
00bb88ce54 filesystem: prepared for u-boot upgrade. 2014-08-11 17:08:48 +01:00
16 changed files with 137 additions and 222 deletions

16
.gitignore vendored
View File

@@ -1,8 +1,8 @@
downloads
lctr-a4xx
lctr-a6xx
lctr-a8xx
lctr-a9xx
lctr-b1xx
lctr-b2xx
qemu-i686
/downloads
/lctr-a4xx
/lctr-a6xx
/lctr-a8xx
/lctr-a9xx
/lctr-b1xx
/lctr-b2xx
/qemu-i686

View File

@@ -21,7 +21,7 @@
###########################################################################
# Config: GLUED version.
cfg_glued_version='1.9.11'
cfg_glued_version='1.9.12'
# Config: GLUED vendor.
cfg_glued_vendor='lsts'

View File

@@ -1,6 +1,6 @@
version=\
(
'1.0.3'
'1.0.6'
)
url=\
@@ -10,7 +10,7 @@ url=\
md5=\
(
'd8729636cc2d7f46f62141d392898bfa'
'07783e66e27601ab0a8250c328b3d6bf'
)
if [ -d "$cfg_dir_builds/linux/linux-"* ]; then
@@ -25,7 +25,7 @@ build()
M=`pwd` \
-C "$kernel" &&
for util in setescc esccclock esccsettings; do
for util in setescc esccclock esccsettings esccfs6131; do
make CC="$cmd_target_cc" -C "utils/$util"
done
}
@@ -40,7 +40,7 @@ target_install()
-C "$kernel" \
modules_install &&
for util in setescc esccclock esccsettings; do
for util in setescc esccclock esccsettings esccfs6131; do
$cmd_target_strip "utils/$util/$util" -o "$cfg_dir_rootfs/usr/bin/$util"
done &&

View File

@@ -1,9 +1,15 @@
# IMU
/usr/bin/setescc 0 0x200 5 0 0 0
/usr/bin/esccclock 0 0x5d1460 23
/usr/bin/esccsettings 0 /etc/escc/hg1700.cfg
# Channels:
# * 0: Honeywell HG1700
# * 1: LSTS PSIMAR
# PSIMAR
# Create channels.
/usr/bin/setescc 0 0x200 5 0 0 0
/usr/bin/setescc 1 0x200 5 0 0 1
# Set clocks (Hz).
"$cmd_escc_set_clock" 0 1000000
"$cmd_escc_set_clock" 1 25804800
# Set registers.
/usr/bin/esccsettings 0 /etc/escc/hg1700.cfg
/usr/bin/esccsettings 1 /etc/escc/psimar.cfg
/usr/bin/esccclock 1 0xc8920 22

View File

@@ -1,3 +1,11 @@
# Channels:
# * 0: Honeywell HG1700
# Create channels.
/usr/bin/setescc 0 0x200 5 0 0 0
/usr/bin/esccclock 0 0x5d1460 23
# Set clocks (Hz).
"$cmd_escc_set_clock" 0 1000000
# Set registers.
/usr/bin/esccsettings 0 /etc/escc/hg1700.cfg

View File

@@ -1,8 +1,14 @@
# IMU
/usr/bin/setescc 0 0x200 5 0 0 0
/usr/bin/esccsettings 0 /etc/escc/ifog-imu-1-a.cfg
# Channels:
# * 0: iMAR iFOG-IMU-1-A
# * 1: LSTS PSIMAR
# PSIMAR
# Create channels.
/usr/bin/setescc 0 0x200 5 0 0 0
/usr/bin/setescc 1 0x200 5 0 0 1
# Set clock.
"$cmd_escc_set_clock" 1 25804800
# Set registers.
/usr/bin/esccsettings 0 /etc/escc/ifog-imu-1-a.cfg
/usr/bin/esccsettings 1 /etc/escc/psimar.cfg
/usr/bin/esccclock 1 0xc8920 22

View File

@@ -5,6 +5,14 @@ start()
mknod /dev/escc0 c 261 0 &&
rm -f /dev/escc1 &&
mknod /dev/escc1 c 261 1 &&
# Clock command.
if [ -z "$cfg_escc_et" ]; then
cmd_escc_set_clock='/usr/bin/esccclock'
else
cmd_escc_set_clock='/usr/bin/esccfs6131'
fi &&
if [ -f "$cfg_escc_script" ]; then
source "$cfg_escc_script"
fi

View File

@@ -1,192 +0,0 @@
#! /bin/sh
#############################################################################
# Copyright (C) 2012 Laboratório de Sistemas e Tecnologia Subaquática #
# Departamento de Engenharia Electrotécnica e de Computadores #
# Rua Dr. Roberto Frias, 4200-465 Porto, Portugal #
#############################################################################
# Author: Ricardo Martins #
#############################################################################
GSM_USER='vodafone'
GSM_PASS='vodafone'
GSM_APN='internet.vodafone.pt'
GSM_MODE='AT\^SYSCFG=2,2,3fffffff,0,1'
GSM_PIN='AT'
FWL_EXT_ITF='ppp0'
FWL_INT_ITF='eth0'
CHAT_SCRIPT=$(cat <<EOF
ABORT 'BUSY' \
ABORT 'NO CARRIER' \
ABORT 'VOICE' \
ABORT 'NO DIALTONE' \
ABORT 'NO DIAL TONE' \
ABORT 'NO ANSWER' \
ABORT 'DELAYED' \
REPORT CONNECT \
TIMEOUT 6 \
'' 'ATQ0' \
'OK-AT-OK' 'ATZ' \
TIMEOUT 3 \
'OK' '$GSM_PIN' \
'OK-AT-OK' 'ATI' \
'OK' 'ATZ' \
'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0' \
'OK' '$GSM_MODE' \
'OK-AT-OK' 'AT+CGDCONT=1,\"IP\",\"$GSM_APN\"' \
'OK' 'ATDT*99***1#' \
TIMEOUT 30 \
CONNECT ''
EOF
)
modem_probe()
{
nr="$(cat /proc/tty/driver/usbserial | grep GSM | head -n 1 | cut -f1 -d:)"
if [ -z "$nr" ]; then
echo ""
else
echo "/dev/ttyUSB$nr"
fi
}
ppp_start()
{
modem="$(modem_probe)"
if [ -z "$modem" ]; then
echo -e "\nERROR: failed to find GSM modem.\n"
exit 1
fi
auth=''
if [ -n "$GSM_USER" ] && [ -n "$GSM_PASS" ]; then
auth="user \"$GSM_USER\" password \"$GSM_PASS\""
fi
echo -e "\n* Removing default route"
/sbin/route del default dev eth0 > /dev/null 2>&1
echo -e "\n* Starting PPP"
/usr/sbin/pppd \
"$modem" \
921600 \
$auth \
lock \
crtscts \
modem \
passive \
novj \
defaultroute \
noipdefault \
usepeerdns \
noauth \
hide-password \
persist \
holdoff 10 \
maxfail 2 \
updetach \
connect "/usr/sbin/chat -E -v -t15 $CHAT_SCRIPT" > /var/run/ppp.log 2>&1
if [ $? -ne 0 ]; then
echo -e "\nERROR: PPP failed to establish a connection.\n"
exit 1
fi
ip=$(ifconfig ppp0 | grep inet | cut -f2 -d: | cut -f1 -d' ')
echo " - External IP is $ip"
}
ppp_stop()
{
pid="$(cat /var/run/ppp0.pid 2> /dev/null)"
echo -e "\n* Stopping PPP"
if [ -z "$pid" ]; then
echo " - Daemon is not running"
return 0
fi
for n in 1 2 3 4 5; do
if ! [ -d "/proc/$pid" ]; then
echo " - Daemon stopped"
return 0
fi
echo " - Sending SIGTERM to '$pid' (try $n)"
kill "$pid" > /dev/null 2>&1
sleep 2
done
kill -9 "$pid" > /dev/null 2>&1
echo " - Daemon terminated"
return 0
}
nat_start()
{
echo -e "\n* Enabling NAT"
echo " - Enabling IP forwarding"
echo '1' > /proc/sys/net/ipv4/ip_forward
echo '1' > /proc/sys/net/ipv4/ip_dynaddr
echo " - Flushing rules"
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
echo " - Installing rules"
iptables -A FORWARD -i "$FWL_EXT_ITF" -o "$FWL_INT_ITF" -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i "$FWL_EXT_ITF" -o "$FWL_EXT_ITF" -j ACCEPT
iptables -A FORWARD -i "$FWL_EXT_ITF" -o "$FWL_INT_ITF" -j ACCEPT
iptables -A FORWARD -i "$FWL_INT_ITF" -o "$FWL_EXT_ITF" -j ACCEPT
iptables -A FORWARD -j LOG
iptables -t nat -A POSTROUTING -o "$FWL_EXT_ITF" -j MASQUERADE
}
nat_stop()
{
echo -e "\n* Disabling NAT"
echo " - Disabling IP forwarding"
echo '0' > /proc/sys/net/ipv4/ip_forward
echo '0' > /proc/sys/net/ipv4/ip_dynaddr
echo " - Flushing NAT rules"
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
}
start()
{
ppp_start && nat_start
if [ $? -eq 0 ]; then
echo -e "\n* Connection Established\n"
else
echo -e "\nERROR: failed to establish a connection\n"
fi
}
stop()
{
nat_stop && ppp_stop
if [ $? -eq 0 ]; then
echo -e "\n* Service stopped\n"
else
echo -e "\nERROR: failed to stop service.\n"
fi
}

View File

@@ -6,8 +6,6 @@
#############################################################################
# Author: Ricardo Martins #
#############################################################################
# $Id:: upgrade 1244 2012-10-08 07:21:07Z rasm $:#
#############################################################################
base='/opt/lsts/glued'
hostname="$(hostname)"
@@ -111,6 +109,68 @@ kernel_upgrade()
fi
}
uboot_part_upgrade()
{
label="$1"
dev="$2"
echo -en "* $label: probing bootloader partition... "
if ! [ -b "$dev" ]; then
echo 'not present'
return 0
fi
echo 'present'
echo -en "* $label: mounting bootloader partition... "
mount -t vfat "$dev" /mnt > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "failed"
return 0
fi
echo 'done'
for f in MLO u-boot.img; do
echo -en "* $label: Replacing $f... "
cp "$base/.glued-new/boot/$f" /mnt
echo 'done'
done
echo -en "* $label: unmounting bootloader partition... "
umount /mnt > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo 'failed'
return 1
fi
sync && sync && sync && sync
echo 'done'
return 0
}
uboot_part_upgrade_check()
{
# Check if board is a BeagleBone black.
dmesg | grep -i 'machine model' | grep -i beaglebone > /dev/null 2>&1
if [ $? -eq 0 ]; then
uboot_part_upgrade 'BeagleBone Black' '/dev/mmcblk1p1'
return 0
fi
# Check if board is a IGEPv2.
dmesg | grep -i 'machine model' | grep -i igepv2 > /dev/null 2>&1
if [ $? -eq 0 ]; then
uboot_part_upgrade 'IGEPv2' '/dev/mmcblk0p1'
return 0
fi
dmesg | grep Machine | grep 'IGEP v2' > /dev/null 2>&1
if [ $? -eq 0 ]; then
uboot_part_upgrade 'IGEPv2' '/dev/mmcblk0p1'
return 0
fi
return 0
}
old_move()
{
echo "* Mounting rootfs read-write..."
@@ -158,6 +218,7 @@ start()
version || return 1
kernel_dst || return 1
new_unpack || return 1
uboot_part_upgrade_check || return 1
kernel_upgrade || return 1
old_move || return 1
}

View File

@@ -11,7 +11,7 @@ maintainer=\
target_install()
{
$cmd_mkdir \
"$cfg_dir_rootfs"/{dev,boot,proc,sys,etc,bin,sbin,opt,var,root} \
"$cfg_dir_rootfs"/{dev,boot,proc,sys,etc,bin,sbin,opt,var,mnt,root} \
"$cfg_dir_rootfs"/usr/{bin,sbin,lib,lib/firmware} \
"$cfg_dir_rootfs"/opt \
"$cfg_dir_rootfs"/dev/{shm,pts} \

View File

@@ -122,7 +122,8 @@ CONFIG_ANON_INODES=y
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_KALLSYMS is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y

View File

@@ -4,7 +4,7 @@ cfg_services0='dropbear network storage upgrade escc syslog ptpd setserial rsync
cfg_services1=''
cfg_services2='dune'
cfg_modules=''
cfg_packages='zlib dropbear rsync busybox flashrom e2fsprogs socat linux escc syslinux syslinux/host ptpd ntp util-linux/ldattach uswitch pciutils apache-ant/host bzip2 libantlr3c boost europa'
cfg_packages='zlib dropbear rsync busybox flashrom e2fsprogs socat linux escc syslinux syslinux/host ptpd ntp util-linux/ldattach uswitch pciutils bzip2'
cfg_terminal='ttyS0'
cfg_target_linux_kernel='arch/x86/boot/bzImage'
cfg_ptpd_master='true'
@@ -13,3 +13,4 @@ cfg_eth_ext_mk='255.255.0.0'
cfg_eth_ext_gw='10.0.0.1'
cfg_eth_prv_ip='192.168.0.1'
cfg_escc_script='/etc/escc/hg1700.sh'
cfg_kernel_extra_args='panic=-1'

View File

@@ -0,0 +1,6 @@
cfg_hostname='lauv-dolphin-2'
cfg_eth_ext_ip='10.0.10.140'
cfg_packages="$cfg_packages"
cfg_escc_script='/etc/escc/ifog-imu-1-a.sh'
cfg_escc_et='true'
cfg_dune_i18n='C'

View File

@@ -0,0 +1,6 @@
cfg_hostname='lauv-dolphin-3'
cfg_eth_ext_ip='10.0.10.150'
cfg_packages="$cfg_packages"
cfg_escc_script='/etc/escc/ifog-imu-1-a.sh'
cfg_escc_et='true'
cfg_dune_i18n='C'

View File

@@ -0,0 +1,2 @@
cfg_hostname='manta-13'
cfg_eth_ext_ip='10.0.30.13'

View File

@@ -0,0 +1,2 @@
cfg_hostname='manta-14'
cfg_eth_ext_ip='10.0.30.14'