mirror of https://github.com/hak5/openwrt-owl.git
fstools: add the new fstools package
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 39895owl
parent
8411a5703f
commit
0dc9d8d6ff
|
@ -12,7 +12,7 @@ __target_inc=1
|
||||||
DEVICE_TYPE?=router
|
DEVICE_TYPE?=router
|
||||||
|
|
||||||
# Default packages - the really basic set
|
# Default packages - the really basic set
|
||||||
DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd
|
DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools
|
||||||
# For router targets
|
# For router targets
|
||||||
DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c
|
DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c
|
||||||
DEFAULT_PACKAGES.bootloader:=
|
DEFAULT_PACKAGES.bootloader:=
|
||||||
|
|
|
@ -3,11 +3,7 @@
|
||||||
|
|
||||||
START=95
|
START=95
|
||||||
boot() {
|
boot() {
|
||||||
[ -d /tmp/root ] && {
|
[ -d /tmp/root ] && fs-state done
|
||||||
lock /tmp/.switch2jffs
|
|
||||||
switch2jffs
|
|
||||||
lock -u /tmp/.switch2jffs
|
|
||||||
}
|
|
||||||
|
|
||||||
# process user commands
|
# process user commands
|
||||||
[ -f /etc/rc.local ] && {
|
[ -f /etc/rc.local ] && {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Copyright (C) 2010 Vertical Communications
|
# Copyright (C) 2010 Vertical Communications
|
||||||
|
|
||||||
do_mount_root() {
|
do_mount_root() {
|
||||||
mount_root
|
fs-state start
|
||||||
boot_run_hook preinit_mount_root
|
boot_run_hook preinit_mount_root
|
||||||
[ -f /sysupgrade.tgz ] && {
|
[ -f /sysupgrade.tgz ] && {
|
||||||
echo "- config restore -"
|
echo "- config restore -"
|
||||||
|
|
|
@ -57,6 +57,8 @@ run_ramfs() { # <command> [...]
|
||||||
/bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc
|
/bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc
|
||||||
|
|
||||||
install_bin /sbin/mtd
|
install_bin /sbin/mtd
|
||||||
|
install_bin /sbin/fs-state
|
||||||
|
install_bin /sbin/snapshot
|
||||||
for file in $RAMFS_COPY_BIN; do
|
for file in $RAMFS_COPY_BIN; do
|
||||||
install_bin $file
|
install_bin $file
|
||||||
done
|
done
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014 OpenWrt.org
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=mdnsd
|
||||||
|
PKG_VERSION:=2014-01-19
|
||||||
|
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
PKG_SOURCE_URL:=git://nbd.name/mdnsd.git
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_VERSION:=8f771a5bcfd7f99e2ab8c68f1932c9d7c6804e96
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
|
define Package/mdnsd
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
TITLE:=Multicast DNS Daemon
|
||||||
|
DEPENDS:=+libubox +libubus +libblobmsg-json
|
||||||
|
endef
|
||||||
|
|
||||||
|
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
||||||
|
|
||||||
|
define Package/mdnsd/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mdnsd $(1)/usr/sbin/
|
||||||
|
# $(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
# $(INSTALL_BIN) ./files/relay.init $(1)/etc/init.d/relayd
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,mdnsd))
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
/etc/init.d/relayd enabled && /etc/init.d/relayd start
|
|
@ -0,0 +1,101 @@
|
||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Copyright (c) 2011-2012 OpenWrt.org
|
||||||
|
|
||||||
|
START=80
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
PROG=/usr/sbin/relayd
|
||||||
|
|
||||||
|
resolve_ifname() {
|
||||||
|
grep -qs "^ *$1:" /proc/net/dev && {
|
||||||
|
procd_append_param command -I "$1"
|
||||||
|
append ifaces "$1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve_network() {
|
||||||
|
local ifn
|
||||||
|
fixup_interface "$1"
|
||||||
|
config_get ifn "$1" ifname
|
||||||
|
[ -z "$ifn" ] && return 1
|
||||||
|
resolve_ifname "$ifn"
|
||||||
|
}
|
||||||
|
|
||||||
|
start_relay() {
|
||||||
|
local cfg="$1"
|
||||||
|
|
||||||
|
local args=""
|
||||||
|
local ifaces=""
|
||||||
|
|
||||||
|
config_get proto "$cfg" proto
|
||||||
|
[[ "$proto" == relay ]] || return 0
|
||||||
|
|
||||||
|
SERVICE_DAEMONIZE=1
|
||||||
|
SERVICE_WRITE_PID=1
|
||||||
|
SERVICE_PID_FILE="/var/run/relay-$cfg.pid"
|
||||||
|
[ -f "$SERVICE_PID_FILE" ] && {
|
||||||
|
if grep -q relayd "/proc/$(cat $SERVICE_PID_FILE)/cmdline"; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
rm -f "$SERVICE_PID_FILE"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command "$PROG"
|
||||||
|
|
||||||
|
local net networks
|
||||||
|
config_get networks "$cfg" network
|
||||||
|
for net in $networks; do
|
||||||
|
resolve_network "$net" || {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
done
|
||||||
|
|
||||||
|
local ifn ifnames
|
||||||
|
config_get ifnames "$cfg" ifname
|
||||||
|
for ifn in $ifnames; do
|
||||||
|
resolve_ifname "$ifn"
|
||||||
|
done
|
||||||
|
|
||||||
|
local ipaddr
|
||||||
|
config_get ipaddr "$cfg" ipaddr
|
||||||
|
[ -n "$ipaddr" ] && procd_append_param command -L "$ipaddr"
|
||||||
|
|
||||||
|
local gateway
|
||||||
|
config_get gateway "$cfg" gateway
|
||||||
|
[ -n "$gateway" ] && procd_append_param command -G "$gateway"
|
||||||
|
|
||||||
|
local expiry # = 30
|
||||||
|
config_get expiry "$cfg" expiry
|
||||||
|
[ -n "$expiry" ] && procd_append_param command "$expiry"
|
||||||
|
|
||||||
|
local retry # = 5
|
||||||
|
config_get retry "$cfg" retry
|
||||||
|
[ -n "$retry" ] && procd_append_param command -p "$retry"
|
||||||
|
|
||||||
|
local table # = 16800
|
||||||
|
config_get table "$cfg" table
|
||||||
|
[ -n "$table" ] && procd_append_param command -T "$table"
|
||||||
|
|
||||||
|
local fwd_bcast # = 1
|
||||||
|
config_get_bool fwd_bcast "$cfg" forward_bcast 1
|
||||||
|
[ $fwd_bcast -eq 1 ] && procd_append_param command "-B"
|
||||||
|
|
||||||
|
local fwd_dhcp # = 1
|
||||||
|
config_get_bool fwd_dhcp "$cfg" forward_dhcp 1
|
||||||
|
[ $fwd_dhcp -eq 1 ] && procd_append_param command "-D"
|
||||||
|
|
||||||
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
|
service_triggers()
|
||||||
|
{
|
||||||
|
procd_add_reload_trigger "network"
|
||||||
|
}
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
include /lib/network
|
||||||
|
config_load network
|
||||||
|
config_foreach start_relay interface
|
||||||
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fstools
|
||||||
|
PKG_VERSION:=2014-02-27
|
||||||
|
|
||||||
|
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||||
|
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_URL:=git://nbd.name/fstools.git
|
||||||
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
PKG_SOURCE_VERSION:=d292ffc85f48dd9c8774a0860f50397dd2966e7a
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||||
|
CMAKE_INSTALL:=1
|
||||||
|
|
||||||
|
PKG_LICENSE:=GPLv2
|
||||||
|
PKG_LICENSE_FILES:=
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
|
TARGET_LDFLAGS += $(if $(CONFIG_USE_EGLIBC),-lrt)
|
||||||
|
|
||||||
|
define Package/fstools
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Base system
|
||||||
|
DEPENDS:=+ubox +USE_EGLIBC:librt
|
||||||
|
TITLE:=OpenWrt filesystem tools
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/block-mount
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Base system
|
||||||
|
TITLE:=Block device mounting and checking
|
||||||
|
DEPENDS:=+ubox +libubox +libuci
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fstools/install
|
||||||
|
$(INSTALL_DIR) $(1)/sbin
|
||||||
|
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fs-state $(1)/sbin/
|
||||||
|
$(INSTALL_BIN) ./files/snapshot $(1)/sbin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/block-mount/install
|
||||||
|
$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/etc/hotplug.d/block $(1)/etc/init.d/ $(1)/etc/uci-defaults/
|
||||||
|
|
||||||
|
$(INSTALL_BIN) ./files/fstab.init $(1)/etc/init.d/fstab
|
||||||
|
$(INSTALL_DATA) ./files/fstab.default $(1)/etc/uci-defaults/10-fstab
|
||||||
|
$(INSTALL_DATA) ./files/mount.hotplug $(1)/etc/hotplug.d/block/10-mount
|
||||||
|
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/block $(1)/sbin/
|
||||||
|
ln -s /sbin/block $(1)/usr/sbin/swapon
|
||||||
|
ln -s /sbin/block $(1)/usr/sbin/swapoff
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fstools))
|
||||||
|
$(eval $(call BuildPackage,block-mount))
|
|
@ -0,0 +1,111 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2014 OpenWrt.org
|
||||||
|
|
||||||
|
|
||||||
|
do_snapshot_unpack() {
|
||||||
|
echo "- snapshot -"
|
||||||
|
mkdir /tmp/snapshot
|
||||||
|
cd /tmp/snapshot
|
||||||
|
fs-state snapshot read
|
||||||
|
block=`ls block*.tar.gz 2> /dev/null`
|
||||||
|
[ -z "$block" ] || for a in $block; do
|
||||||
|
tar xzf $a -C /
|
||||||
|
rm -f $a
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
do_config_unpack() {
|
||||||
|
echo "- config -"
|
||||||
|
fs-state snapshot config_read
|
||||||
|
[ -f /tmp/config.tar.gz ] && {
|
||||||
|
tar xzf /tmp/config.tar.gz -C /
|
||||||
|
rm -f /tmp/config.tar.gz
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
do_snapshot_push() {
|
||||||
|
cd /volatile
|
||||||
|
tar czf /tmp/snapshot.tar.gz *
|
||||||
|
fs-state snapshot write
|
||||||
|
reboot
|
||||||
|
}
|
||||||
|
|
||||||
|
do_config_push() {
|
||||||
|
cd /volatile
|
||||||
|
tar czf /tmp/config.tar.gz *
|
||||||
|
fs-state snapshot config_write
|
||||||
|
}
|
||||||
|
|
||||||
|
do_snapshot_upgrade() {
|
||||||
|
opkg update
|
||||||
|
[ $? == 0 ] || exit 1
|
||||||
|
|
||||||
|
opkg list-upgradable
|
||||||
|
[ $? == 0 ] || exit 2
|
||||||
|
|
||||||
|
UPDATES=`opkg list-upgradable | cut -d" " -f1`
|
||||||
|
[ -z "${UPDATES}" ] && exit 0
|
||||||
|
|
||||||
|
opkg upgrade ${UPDATES}
|
||||||
|
[ $? == 0 ] || exit 3
|
||||||
|
|
||||||
|
do_snapshot_push
|
||||||
|
sleep 5
|
||||||
|
reboot
|
||||||
|
sleep 10
|
||||||
|
}
|
||||||
|
|
||||||
|
do_convert_jffs2() {
|
||||||
|
fs-state snapshot write
|
||||||
|
sleep 2
|
||||||
|
reboot -f
|
||||||
|
}
|
||||||
|
|
||||||
|
do_convert() {
|
||||||
|
. /lib/functions.sh
|
||||||
|
. /lib/upgrade/common.sh
|
||||||
|
ubus call system upgrade
|
||||||
|
touch /tmp/sysupgrade
|
||||||
|
cd /overlay
|
||||||
|
tar czf /tmp/snapshot.tar.gz *
|
||||||
|
kill_remaining TERM
|
||||||
|
sleep 3
|
||||||
|
kill_remaining KILL
|
||||||
|
run_ramfs '. /sbin/snapshot; do_convert_jffs2'
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$(cat /proc/mounts|grep /overlay|grep jffs2)" ] && {
|
||||||
|
case $1 in
|
||||||
|
convert)
|
||||||
|
do_convert
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -d /volatile ] && {
|
||||||
|
case $1 in
|
||||||
|
push)
|
||||||
|
do_snapshot_push
|
||||||
|
;;
|
||||||
|
config)
|
||||||
|
do_config_push
|
||||||
|
;;
|
||||||
|
upgrade)
|
||||||
|
do_snapshot_upgrade
|
||||||
|
;;
|
||||||
|
info)
|
||||||
|
fs-state info
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "$SNAPSHOT" = "magic" ] && {
|
||||||
|
case $1 in
|
||||||
|
unpack)
|
||||||
|
do_snapshot_unpack
|
||||||
|
;;
|
||||||
|
config_unpack)
|
||||||
|
do_config_unpack
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
|
@ -28,22 +28,13 @@ define Package/ubox
|
||||||
TITLE:=OpenWrt system helper toolbox
|
TITLE:=OpenWrt system helper toolbox
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/block-mount
|
|
||||||
SECTION:=base
|
|
||||||
CATEGORY:=Base system
|
|
||||||
TITLE:=Block device mounting and checking
|
|
||||||
DEPENDS:=+ubox +libubox +libuci
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/ubox/install
|
define Package/ubox/install
|
||||||
$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/lib/ $(1)/etc/init.d/
|
$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/lib/ $(1)/etc/init.d/
|
||||||
|
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{mount_root,kmodloader,logd,logread,validate_data} $(1)/sbin/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{kmodloader,logd,logread,validate_data} $(1)/sbin/
|
||||||
$(INSTALL_BIN) ./files/log.init $(1)/etc/init.d/log
|
$(INSTALL_BIN) ./files/log.init $(1)/etc/init.d/log
|
||||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libvalidate.so $(1)/lib
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libvalidate.so $(1)/lib
|
||||||
ln -s /sbin/mount_root $(1)/sbin/switch2jffs
|
|
||||||
ln -s /sbin/mount_root $(1)/sbin/jffs2reset
|
|
||||||
ln -s /sbin/mount_root $(1)/sbin/jffs2mark
|
|
||||||
ln -s /sbin/kmodloader $(1)/usr/sbin/rmmod
|
ln -s /sbin/kmodloader $(1)/usr/sbin/rmmod
|
||||||
ln -s /sbin/kmodloader $(1)/usr/sbin/insmod
|
ln -s /sbin/kmodloader $(1)/usr/sbin/insmod
|
||||||
ln -s /sbin/kmodloader $(1)/usr/sbin/lsmod
|
ln -s /sbin/kmodloader $(1)/usr/sbin/lsmod
|
||||||
|
@ -51,18 +42,4 @@ define Package/ubox/install
|
||||||
ln -s /sbin/kmodloader $(1)/usr/sbin/modprobe
|
ln -s /sbin/kmodloader $(1)/usr/sbin/modprobe
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/block-mount/install
|
|
||||||
$(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/etc/hotplug.d/block $(1)/etc/init.d/ $(1)/etc/uci-defaults/
|
|
||||||
|
|
||||||
$(INSTALL_BIN) ./files/fstab.init $(1)/etc/init.d/fstab
|
|
||||||
$(INSTALL_DATA) ./files/fstab.default $(1)/etc/uci-defaults/10-fstab
|
|
||||||
$(INSTALL_DATA) ./files/mount.hotplug $(1)/etc/hotplug.d/block/10-mount
|
|
||||||
|
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/block $(1)/sbin/
|
|
||||||
ln -s /sbin/block $(1)/usr/sbin/swapon
|
|
||||||
ln -s /sbin/block $(1)/usr/sbin/swapoff
|
|
||||||
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,ubox))
|
$(eval $(call BuildPackage,ubox))
|
||||||
$(eval $(call BuildPackage,block-mount))
|
|
||||||
|
|
Loading…
Reference in New Issue