lauv-aux-rpi: added lauv-aux variant using a Raspberry Pi 2.
This commit is contained in:
parent
bb4485ec29
commit
1873f904dd
2523
systems/lauv-aux-rpi/cfg/linux-3.18_2015-06-03.cfg
Normal file
2523
systems/lauv-aux-rpi/cfg/linux-3.18_2015-06-03.cfg
Normal file
File diff suppressed because it is too large
Load Diff
18
systems/lauv-aux-rpi/config
Normal file
18
systems/lauv-aux-rpi/config
Normal file
@ -0,0 +1,18 @@
|
||||
cfg_architecture='cortex-a8-hardfp'
|
||||
cfg_storage='data0:ext4:/opt'
|
||||
cfg_modules=''
|
||||
cfg_services0='network dropbear storage upgrade syslog ptpd'
|
||||
cfg_services1='lauv-storage-server'
|
||||
cfg_services2='dune'
|
||||
cfg_packages='dropbear rsync busybox e2fsprogs dosfstools ptpd rpcbind nfs-utils rpi-boot-firmware linux/rpi'
|
||||
cfg_target_linux_kernel='arch/arm/boot/zImage'
|
||||
cfg_target_linux_dtb='arch/arm/boot/dts/bcm2709-rpi-2-b.dtb'
|
||||
cfg_ptpd_interface='eth0'
|
||||
cfg_terminal='ttyAMA0'
|
||||
cfg_lauv_storage_dir='/opt/lsts/dune/log'
|
||||
cfg_partitions=\
|
||||
(
|
||||
rpi-boot boot0 512B 32MiB
|
||||
root root0 32MiB 544MiB
|
||||
data data0 544MiB -1
|
||||
)
|
2
systems/lauv-aux-rpi/fs/etc/mdev.conf
Normal file
2
systems/lauv-aux-rpi/fs/etc/mdev.conf
Normal file
@ -0,0 +1,2 @@
|
||||
ttyAMA0 root:root 660 >terminal
|
||||
ttyUSB[0-9]* root:root 660 */sbin/mdev-ttyusb
|
119
systems/lauv-aux-rpi/fs/etc/rc.d/lauv-storage-server
Normal file
119
systems/lauv-aux-rpi/fs/etc/rc.d/lauv-storage-server
Normal file
@ -0,0 +1,119 @@
|
||||
mount_storage()
|
||||
{
|
||||
echo "* Probing storage..."
|
||||
|
||||
bdev="/dev/sda1"
|
||||
if ! [ -b "$bdev" ]; then
|
||||
echo "* Device $bdev does not exist."
|
||||
return 1
|
||||
fi
|
||||
|
||||
mkdir -p "$cfg_lauv_storage_dir"
|
||||
mount -o rw,relatime "$bdev" "$cfg_lauv_storage_dir" 2> /dev/null
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "* Failed to mount $bdev on $cfg_lauv_storage_dir"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "* Mounted '$bdev' on '$cfg_lauv_storage_dir'"
|
||||
return 0
|
||||
}
|
||||
|
||||
try_mount_storage()
|
||||
{
|
||||
n=0; while [ $n -lt 30 ]; do
|
||||
mount_storage "$1"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
let n++
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
start_nfs_server()
|
||||
{
|
||||
echo "* Creating NFS administrative folder..."
|
||||
mkdir -p /var/lib/nfs
|
||||
if ! [ -d /var/lib/nfs ]; then
|
||||
echo "ERROR: failed to create data folder."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "* Launching rpcbind..."
|
||||
/usr/bin/rpcbind
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: failed to start rpcbind."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "* Launching rpc.statd..."
|
||||
/usr/bin/rpc.statd
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: failed to start rpc.statd."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "* Launching rpc.nfsd..."
|
||||
/usr/bin/rpc.nfsd
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: failed to start rpc.nfsd."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "* Creating NFS filesystem table..."
|
||||
/usr/bin/exportfs -ra
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: failed to create filesystem table."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "* Launching rpc.mountd..."
|
||||
/usr/bin/rpc.mountd
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: failed to start rpc.mountd."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "* Exporting NFS filesystems..."
|
||||
/usr/bin/exportfs \
|
||||
-o rw,sync,no_root_squash,no_subtree_check \
|
||||
10.0.0.0/16:"$cfg_lauv_storage_dir"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: failed to export filesystems."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
stop_nfs_server()
|
||||
{
|
||||
echo "* Unexporting NFS filesystems..."
|
||||
exportfs -au
|
||||
echo "* Terminating rpc.mountd..."
|
||||
killall rpc.mountd 2> /dev/null
|
||||
echo "* Terminating rpc.statd..."
|
||||
killall rpc.statd 2> /dev/null
|
||||
echo "* Terminating rpc.bind..."
|
||||
killall rpcbind 2> /dev/null
|
||||
}
|
||||
|
||||
start()
|
||||
{
|
||||
# Removable storage.
|
||||
try_mount_storage /dev/sda1
|
||||
|
||||
# FIXME: what to do if the above fails.
|
||||
start_nfs_server
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
stop_nfs_server
|
||||
echo "* Unmounting storage.."
|
||||
umount "$cfg_lauv_storage_dir"
|
||||
}
|
5
systems/lauv-aux-rpi/lauv-aux-rpi-testbed.cfg
Normal file
5
systems/lauv-aux-rpi/lauv-aux-rpi-testbed.cfg
Normal file
@ -0,0 +1,5 @@
|
||||
cfg_hostname='lauv-aux-rpi-testbed'
|
||||
cfg_eth_ext_ip='10.0.200.24'
|
||||
cfg_eth_ext_mk='255.255.0.0'
|
||||
cfg_eth_ext_gw='10.0.0.1'
|
||||
cfg_ptpd_interface='eth0'
|
Reference in New Issue
Block a user