Advertisement
Guest User

Prepare NetBSD rootfs for Linksys NSLU2

a guest
Mar 7th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.02 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. set -e
  4.  
  5. if [ $(id -u) -ne 0 ]; then
  6.     echo 'This script should be run as uid=0 to set the correct permissions'
  7.     exit 1
  8. fi
  9.  
  10. srcdir=$(pwd)
  11.  
  12. NETBSDOUT=/media/SonyExt4/netbsd/$(git describe --always)
  13. NETBSDRFS=${NETBSDOUT}/root
  14. SETSDIR=${srcdir}/obj/releasedir/evbarm/binary/sets
  15.  
  16. mkdir -p ${NETBSDRFS}
  17. mkdir -p ${NETBSDOUT}/home
  18. mkdir -p ${NETBSDRFS}/swap
  19. swapf=${NETBSDOUT}/swap
  20. touch ${swapf}
  21. dd if=/dev/zero of=${swapf} bs=4k count=4k
  22. chmod 600 ${swapf}
  23. unset swapf
  24.  
  25. #cp obj/releasedir/evbarm/binary/sets/* $NETBSDOUT/
  26.  
  27. for bsdset in base etc misc modules text kern-NSLU2_ALL ; do
  28.     tar --numeric-owner -xvpzf $SETSDIR/$bsdset.tgz -C $NETBSDOUT/root/
  29. done
  30.  
  31. mknod=$srcdir/obj/tooldir.$(uname -s)-$(uname -r)-$(uname -m)/bin/nbmknod
  32. cd $NETBSDOUT/root/dev && sh ./MAKEDEV -m $mknod all && cd -
  33.  
  34. cat <<EOHOSTS >>${NETBSDOUT}/root/etc/hosts
  35. 192.168.77.251  kinder
  36. 192.168.77.1    toblerone
  37. 192.168.77.250  ritter nfsserver
  38. EOHOSTS
  39.  
  40. cat <<EOFSTAB > ${NETBSDOUT}/root/etc/fstab
  41. #/etc/fstab
  42. nfsserver:/export/netbsd-nslu2/swap   none  swap  sw,nfsmntpt=/swap
  43. nfsserver:/export/netbsd-nslu2/root   /     nfs   rw 0 0
  44. nfsserver:/export/netbsd-nslu2/usr    /usr  nfs   rw 0 0
  45. nfsserver:/export/netbsd-nslu2/home   /home nfs   rw 0 0
  46. EOFSTAB
  47.  
  48. echo 'inet client netmask 255.255.255.0 broadcast 192.168.77.251' > ${NETBSDRFS}/etc/ifconfig.npe0
  49.  
  50. sed -i 's|^#telnet|telnet|' ${NETBSDRFS}/etc/inetd.conf
  51.  
  52. export rcconf=${NETBSDRFS}/etc/rc.conf
  53. sed -i 's@rc_configured=.*@rc_configured=YES@' $rcconf
  54. cat <<EORCCONF >>$rcconf
  55. sshd=YES
  56. hostname="kinder"
  57. defaultroute="192.168.77.1"
  58. nfs_client=YES
  59. auto_ifconfig=NO
  60. net_interfaces=""
  61. EORCCONF
  62. unset rcconf
  63.  
  64. # prepare copy
  65. cat <<EOCOPY >$NETBSDOUT/copy.sh
  66. #!/bin/sh
  67.  
  68. HASH=\$(basename "$NETBSDOUT")
  69. rm -fr /export/netbsd-nslu2
  70. cp -ar /mnt/netbsd/\${HASH} /export/netbsd-nslu2
  71. rm -f /srv/tftp/netbsd-nfs.bin
  72. cp -a /export/netbsd-nslu2/root/netbsd-nfs.bin /srv/tftp/netbsd-nfs.bin
  73. EOCOPY
  74. chmod +x $NETBSDOUT/copy.sh
  75.  
  76. echo "Changes done in ${NETBSDRFS}."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement