User Tools

Site Tools


devices:srn21c

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
devices:srn21c [2017/09/18 21:50] Sean Rhonedevices:srn21c [2017/10/29 16:03] Sean Rhone
Line 1: Line 1:
 +====== Information ======
  
 +  * Seagate Personal Cloud ((http://www.seagate.com/manuals/network-storage/seagate-personal-cloud))
 +  * Debian ((https://www.debian.org)) ((https://wiki.debian.org/InstallingDebianOn/Seagate/PersonalCloud))
 +  * vsftpd ((https://security.appspot.com/vsftpd.html))
 +  * For whatever reason, the bootloader settings don't stick when the NAS looses power for a bit; these instructions work, but not reliable
 +
 +====== TFTP Server ======
 +
 +  * A TFTP server is needed to serve files to uBoot
 +
 +  sudo dnf install 'tftp-server'
 +
 +  sudo firewall-cmd --add-service='tftp'
 +
 +====== Debian Installer Files ======
 +
 +===== uImage =====
 +
 +****
 +
 +  sudo wget -O '/var/lib/tftpboot/uImage' 'http://ftp.debian.org/debian/dists/stretch/main/installer-armhf/current/images/network-console/seagate/personal-cloud/uImage'
 +
 +===== uInitrd =====
 +
 +****
 +
 +  sudo wget -O '/var/lib/tftpboot/uInitrd' 'http://ftp.debian.org/debian/dists/stretch/main/installer-armhf/current/images/network-console/seagate/personal-cloud/uInitrd'
 +
 +===== Device Tree Blob =====
 +
 +****
 +
 +  sudo wget -O '/var/lib/tftpboot/armada-370-seagate-personal-cloud.dtb' 'http://ftp.debian.org/debian/dists/stretch/main/installer-armhf/current/images/device-tree/armada-370-seagate-personal-cloud.dtb'
 +
 +====== clunc ======
 +
 +===== Information =====
 +
 +  * Needed to communicate with uBoot shell over network
 +
 +===== Acquire and Compile =====
 +
 +****
 +
 +  git clone -b 'master' 'http://git.lacie-nas.org/clunc.git' ~/'clunc' && cd ~/'clunc' && make && sync
 +
 +===== Execute =====
 +
 +  * This needs to be running before the NAS is given power
 +  * Getting the IP for the NAS in this state is tricky; had to set a static ARP from AdvancedTomato GUI
 +
 +  cd ~/'clunc' && ~/'clunc' -vi '192.168.1.129'
 +
 +===== Debian Installer Initialize =====
 +
 +  * Following commands pulls the Debian installer files from the TFTP server and executes them to initiate the installer
 +
 +  setenv serverip 192.168.1.151
 +
 +  setenv ipaddr 192.168.1.129
 +
 +  tftpboot 0x2000000 uImage
 +
 +  tftpboot 0x5100000 uInitrd
 +
 +  tftpboot 0x5000000 armada-370-seagate-personal-cloud.dtb
 +
 +  setenv fdt_high 0xffffffff
 +
 +  setenv initrd_high 0xffffffff
 +
 +  bootm 0x2000000 0x5100000 0x5000000
 +
 +====== Debian Installer ======
 +
 +  * No real tricks to install; just follow on-screen instructions
 +
 +====== Debian Installer Finalize ======
 +
 +===== clunc Execute =====
 +
 +  * This needs to be running before the Debian installer reboots at the last step
 +  * IP should theoretically be the same as before
 +
 +  cd ~/'clunc' && ~/'clunc' -vi '192.168.1.129'
 +
 +===== uBoot =====
 +
 +  * Following commands tell uBoot how to boot Debian on its own
 +
 +  setenv debian_kernel_addr 0x2000000
 +
 +  setenv debian_initrd_addr 0x5100000
 +
 +  setenv debian_dtb_addr 0x5000000
 +
 +  setenv initrd_high 0xffffffff
 +
 +  setenv fdt_high 0xffffffff
 +
 +  setenv debian_boot_part 1
 +
 +  setenv debian_kernel_img /uImage
 +
 +  setenv debian_initrd_img /uInitrd
 +
 +  setenv debian_dtb_img /dtb
 +
 +  setenv debian_bootargs setenv bootargs ${console}
 +
 +  setenv debian_load_image 'ext2load ${disk_iface} ${disk_num}:${boot_part} ${kern_addr} ${debian_kernel_img} && iminfo ${debian_kernel_addr}; ext2load ${disk_iface} ${disk_num}:${boot_part} ${debian_initrd_addr} ${debian_initrd_img}; ext2load ${disk_iface} ${disk_num}:${boot_part} ${debian_dtb_addr} ${debian_dtb_img}'
 +
 +  setenv debian_boot 'hdd start; ide reset; setenv boot_part ${debian_boot_part}; for disk in ${disk_list}; do run disk_expand; echo Booting Debian from disk ${disk}...; run debian_load_image; run debian_bootargs; bootm ${debian_kernel_addr} ${debian_initrd_addr} ${debian_dtb_addr}; done'
 +
 +  setenv bootcmd run debian_boot
 +
 +  saveenv
 +
 +  run bootcmd
 +
 +====== Settings ======
 +
 +  * All interactions with Debian need to be done through SSH obviously and with ''su''
 +
 +===== Root =====
 +
 +****
 +
 +  su
 +
 +===== Update Packages =====
 +
 +****
 +
 +  apt update && apt full-upgrade -y && apt autoremove -y && apt clean && sync
 +
 +===== Change hostname =====
 +
 +****
 +
 +  hostnamectl set-hostname 'x'
 +
 +===== Static IP =====
 +
 +  nano '/etc/network/interfaces'
 +
 +<code>
 +#iface eth0 inet dhcp
 +iface eth0 inet static
 +address 192.168.1.154
 +netmask 255.255.255.0
 +gateway 192.168.1.1
 +dns-nameservers 84.200.69.80 84.200.70.40</code>
 +
 +===== vsftpd =====
 +
 +==== Install ====
 +
 +****
 +
 +  apt install 'vsftpd'
 +
 +==== Directory ====
 +
 +****
 +
 +  mkdir -p '/srv/ftp/NAS' && chgrp -R 'ftp' '/srv/ftp/NAS'
 +
 +==== Configure ====
 +
 +  nano '/etc/vsftpd.conf' && systemctl restart 'vsftpd'
 +
 +  write_enable=YES
 +
 +  utf8_filesystem=YES
 +
 +==== Create Users ====
 +
 +  adduser 'voidscream'
 +
 +===== Automatic Updates =====
 +
 +==== Service ====
 +
 +  nano '/etc/systemd/system/debian-up.service'
 +
 +  [Service]
 +  Type=oneshot
 +  ExecStartPre='/usr/bin/apt' clean
 +  ExecStart='/usr/bin/apt' update
 +  ExecStart='/usr/bin/apt' full-upgrade -y
 +  ExecStart='/usr/bin/apt' autoremove -y
 +  ExecStartPost='/bin/sync'
 +  ExecStartPost='/bin/systemctl' reboot
 +
 +==== Timer ====
 +
 +  nano '/etc/systemd/system/debian-up.timer' && systemctl daemon-reload && systemctl enable 'debian-up.timer' --now
 +
 +  [Unit]
 +  Description=Software Package Maintenance and Updater
 +  After=network-online.target
 +  Wants=network-online.target
 +  
 +  [Timer]
 +  OnCalendar=weekly
 +  Persistent=true
 +  
 +  [Install]
 +  WantedBy=timers.target
/var/www/wiki/data/pages/devices/srn21c.txt · Last modified: 2021/02/18 11:14 by Sean Rhone