16
Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.
rm -rf /tmp/initrd
mkdir -p /tmp/initrd
copy_link_with_base()
{
test -L "$1/$2" &&
{
local basefile="`readlink "$1/$2"`"
local filedir="`dirname "$2"`"
local dstdir="`dirname "$3/$filedir/$basefile"`"
mkdir -pv "$dstdir"
test -e "$3/$filedir/$basefile" ||
cp -av "$1/$filedir/$basefile" "$3/$filedir/$basefile"
}
local dstdir="`dirname "$3/$2"`"
mkdir -pv "$dstdir"
cp -av "$1/$2" "$3/$2"
}
copy_loop()
{
while read fileName
do
copy_link_with_base "$1" "$fileName" "$2"
done
}
copy_loop /tmp/rootfs /tmp/initrd <<EOF
/bin/ash
/bin/mount
/bin/umount
/bin/grep
/sbin/udevd
/sbin/udevtrigger
/lib/libcrypt.so.0
/lib/libm.so.0
/lib/libc.so.0
/lib/ld-uClibc.so.0
/lib/libgcc_s.so.1
/lib/libpthread.so.0
/lib/modules/2.6.32.27/uhci-hcd.ko
/lib/modules/2.6.32.27/ehci-hcd.ko
/lib/modules/2.6.32.27/ohci-hcd.ko
/sbin/insmod
/bin/sleep
/usr/bin/killall
/bin/cat
/sbin/switch_root
/usr/sbin/e2fsck
/usr/lib/libext2fs.so.2
/usr/lib/libcom_err.so.2
/usr/lib/libblkid.so.1
/usr/lib/libuuid.so.1
/usr/lib/libe2p.so.2
EOF
xargs -I% mkdir -vp /tmp/initrd/% <<EOF
/proc/
/sys/
/dev/
/real_root/
EOF
cat <<EOF > /tmp/initrd/init
#!/bin/ash -u
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
mount proc /proc -t proc
mount sysfs /sys -t sysfs
mount udev /dev -t tmpfs -o mode=0755
udevd --daemon
udevtrigger
udevsettle
for module in usbcore scsi_mod sd_mod usb-storage uhci-hcd ohci-hcd ehci-hcd
do insmod \$module; done
root=''
init='/init'
for param in \`cat /proc/cmdline\` none
do
echo "\$param" | grep -q '=' || continue
eval "\$param"
done
do_fsck()
{
e2fsck -p "\$1" ||
e2fsck "\$1"
}
umount_all()
{
killall -KILL udevd &&
umount -f /dev &&
umount -f /sys &&
umount -f /proc
}
test -n "\$root" &&
{
echo -n "Looking for the root fs device '\$root'"
while ! test -b "\$root"; do echo -n '.'; /bin/sleep 1s; done
echo 'found'
do_fsck "\$root" &&
mount "\$root" /real_root &&
umount_all &&
exec switch_root /real_root "\$init"
} ||
exec /bin/ash --login
EOF
chmod +x /tmp/initrd/init
pushd /tmp/initrd &&
find . -print|cpio -ov -H newc|gzip -9 -c > /tmp/initrd.gz &&
popd
mkdir /tmp/rootfs
mount /dev/sdb2 /tmp/rootfs
creainitrd1
creainitrd1
serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1
terminal --timeout=2 console serial
default 0
timeout 5
title OpenWrt
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda2 init=/etc/preinit rootfstype=ext2 rootwait console=tty0 reboot=bios
initrd /boot/initrd.gz
boot
title OpenWrt (failsafe)
root (hd0,0)
kernel /boot/vmlinuz failsafe=true root=/dev/sda2 init=rootf stype=ext2 rootwait console=tty0 reboot=bios
boot
console=ttyS0,38400n8
sudo fdisk -l -u openwrt-x86-ext2.image
....
Dispositivo Boot Start End Blocks Id System
OpenWrtdc-x86-ext2.image1 * 63 16064 8001 83 Linux
OpenWrtdc-x86-ext2.image2 16065 7839719 3911827+ 83 Linux
echo "$((7839719*512))"
che dasudo mount -o loop,offset=4013936128 openwrt-x86-ext2.image /mnt
# Command to be executed when a motion frame is detected (default: none)
on_motion_detected /usr/sbin/allarme.sh
# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
#target_dir /motion
dropbearkey -t rsa -f id_rsa
Will output 1024 bit rsa secret key to 'id_rsa'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCagAvA7/EdxINoRzHoIYDUf4sE24VZZG4N+VHFVDKDrekvCtKDkdmUnbyP8bZqLtH6rSFyLeI1qAeU/cREQcwhsnOTwxesfe1dvZthUnbSfQ9nm7MVRZCUPZO4lAQZ+tW2vFHaoSPE3fSYA3B+ObkygKP8CxzvOsmN4AHklXB0YbRD root@openwrt
Fingerprint: .....................
dbclient -f -N -K 60 -L 3306:127.0.0.1:3306 -y -i /etc/dropbear/dropbear_rsa_host_key root@ipserver -p numero_eventuale_porta
root@OpenWrt:/usr/sbin# cat motion.sh
#!/bin/sh
case $1 in
start)
/usr/bin/motion
;;
stop)
PID=`pidof motion`
kill $PID
killall allarme.sh
gpioctl dirin 12
;;
esac
root@OpenWrt:/usr/sbin# cat allarme.sh
#!/bin/sh
cat << EOF > /motion/allarme.call
Channel: SIP/202
Callerid: ALLARME
MaxRetries: 2
RetryTime: 20
WaitTime: 20
Context: allarme
Extension: s
Priority: 1
EOF
scp -i /etc/dropbear/dropbear_rsa_host_key /motion/allarme.call root@ip_server:/var/spool/asterisk/outgoing
gpioctl dirout 12
sllep 180
gpioctl dirin 12
exit
[macro-allarme]
exten => s,1,Answer()
exten => s,n,Read(INPUT|agent-pass|0||3|10)
exten => s,n,SayDigits(${INPUT})
exten => s,n,AGI(allarme.sh,${INPUT})
exten => s,n,Hangup()
exten => numerodachiamare,1,Macro(allarme,205)
[allarme]
exten => s,1,Set(LANGUAGE()=IT)
exten => s,n,Answer
exten => s,n,Wait(2)
exten => s,n,Playback(allarme)
exten => s,n,Wait(1)
exten => s,n,Playback(allarme)
exten => s,n,Wait(1)
exten => s,n,Playback(allarme)
exten => s,n,Wait(1)
exten => s,n,Playback(allarme)
exten => s,n,Wait(1)
exten => s,n,Playback(allarme)
exten => s,n,Wait(1)
exten => s,n,Hangup
#!/bin/sh
lynx http://ip_della_vs/cgi-bin/gesallarme.sh?pass=$1
exit
root@OpenWrt:/www/cgi-bin# cat gesallarme.sh
#!/usr/bin/webif-page
<?
. /usr/lib/webif/webif.sh
#header
file=/etc/centralina/allarme
righe=$(wc -l /etc/centralina/allarme | awk '{print $1}')
passon="$(echo "$riga" | awk '{split ($0, a, " ");print a[1]}')"
passoff="$(echo "$riga" | awk '{split ($0, a, " ");print a[2]}')"
#attiva allarme
if equal $FORM_pass "$passon";then
/usr/bin/motion
fi
#Disattiva allarme
if equal $FORM_pass "$passoff";then
PID=`pidof motion`
kill $PID
killall allarme.sh
gpioctl dirin 12
fi
exit
?>
root@OpenWrt:~# cat /etc/centralina/allarme
1111 2222
root@OpenWrt:~#
dd if=firmware.bin of=firmware.trx bs=32 skip=1
b43 wireless driver for Broadcom 11g chipsets on the 2.6 kernel
...
Note: After a long development phase, Broadcom wireless should now be working on brcm47xx, start testing. This would finally move all OpenWrt platforms to current 2.6 kernels.