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
Next revision
Previous revision
Last revisionBoth sides next revision
devices:srn21c [2017/09/18 21:48] 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