User Tools

Site Tools


computing:beaglebone

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
computing:beaglebone [2018/11/25 01:32] – external edit 127.0.0.1computing:beaglebone [2023/02/27 00:54] (current) oemb1905
Line 6: Line 6:
  
 ------------------------------------------- -------------------------------------------
 +==Installing Debian on Beagle Boards==
  
-To locate device if auto-mounted +Insert microsd on host workstation, unmount in order to write the .img to the disk
-  sudo dmesg+
  
 +  sudo dmesg
   umount /dev/mmcblk0p1   umount /dev/mmcblk0p1
  
-Optional: use fdisk to remove the partition first before dding ... use blkdiscard before+Write the debian image to the SD Card using dd command
  
   sudo dd of=/dev/mmcblk0 if=/home/sexa/Downloads/bone-debian-9.2-iot-armhf-2017-10-10-4gb.img bs=1M conv=fdatasync [or && sync]   sudo dd of=/dev/mmcblk0 if=/home/sexa/Downloads/bone-debian-9.2-iot-armhf-2017-10-10-4gb.img bs=1M conv=fdatasync [or && sync]
  
-After this, pull out SD card.  Plug back in.  Locate where it mounted, prepare to edit file to allow it to run the installer upon boot.  This is located in boot/enV.txt relative to wherever the media mounted.  Eg., cd /media/sexa/rootfs/boot/+Pull out the SD card and then put back in so that it mounts read/write and then edit
  
-  cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh+  vi /media/username/rootfs/boot/uEnv.txt 
 +  cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh [uncomment this line in the config]
  
-Get out of the directory asap.  then:+Use screen and a serial usb adapter to oversee the installation since ssh will likely get broken during the post-install cleanup. 
 +The adapter's tx goes to bb's rx, and so on.  For the beaglebone black pin setup, see bit.ly/2DhU6Vx
  
-  umount /dev/mmcblk0p1+  sudo screen /dev/ttyUSB0 115200 [Example]
  
-Now that the image has been turned into an installeryou may put the microSD card into the Beagle Bone (without power).  +Once the device powers offremove the microSD card or it will flash the eMMC again and again.  Now, prepare the bb 
 +for shell access by editing your ssh config:
  
-On typical serial to USB adapterand almost all others, the colors are white (receive), green (transmit), black (ground), red (5V power).  Do not use the red cable unless you know what you are doing.  Otherwise, make sure that the adapter's transmit goes to the Beagle's receive, and the adapter's receive to the Beagle's transmit.  The diagram below shows the Beagle's perspectiveFrom left to rightthere are 6 pins, so it would be nothing, white, green, nothing, nothingblack.  The adapter commonly has a name like ttyUSB0therefore this command should do the trick+  vi /etc/ssh/sshd_config  
 +  <PermitRootLogin yes> 
 + 
 +Add password for rootthen test the shell accessadd the public keysto the authorized_keys file 
 + 
 +  ssh root@xx.xx.xx.xx 
 +  ssh-copy-id root@xx.xx.xx.xx 
 +  vi /root/.ssh/authorized_keys [copy and paste the pub keys] 
 + 
 +==Clean Up Post-Install== 
 + 
 +Install deborphan in order to remove hanging dependencies from apps that we will later strip. 
 + 
 +  apt-get install screen deborphan ntp  
 + 
 +The new version has an ntp server, but retaining here in case setting up legacy system Nowprepare  network interfaces: 
 + 
 +  vi /etc/network/interfaces  
 +  <uncomment these parameters> 
 +  auto eth0 
 +  iface eth0 inet dhcp 
 +  <comment out any other paramaters besides loopback> 
 + 
 +It is now time to strip the bb of the stock appsetc.  If you prefer to use ssh over serialthen use screen as follows:
      
-  sudo screen /dev/ttyUSB0 115200+  ssh -t root@xx.xx.xx.xx screen -DRO  
 + 
 +Now, let's remove the unnecessary packages (as root) - but bear in mind that these may change in future releases: 
 + 
 +  for i in c9-core-installer udhcpd chromium-codecs-ffmpeg-extra connman lximage-qt lxmenu-data pcmanfm-qt qupzilla xserver-xorg-core "light*" chromium-browser nodejs "lxqt*" xserver-common "apache2*" bluez "xfonts*" "x11-*" "x11proto-*" build-essential alsa-utils; do apt-get -y purge $i; done 
 +  apt remove --purge c9-core-installer bonescript bone101 
 + 
 +Sometimes ssh hangs at this stage, so if so, use serial. 
 + 
 +  apt-get --purge autoremove  
 +  apt-get --purge remove `deborphan` 
 + 
 +Run this last command a few times until everything is removed. 
 + 
 +  apt-get dist-upgrade 
 +  apt-get clean 
 + 
 +Change hostname, remove the splash/motd  
 + 
 +  vi /etc/hosts 
 +  vi /etc/hostname 
 +  vi /etc/issue.net to remove the goofy ssh splash
      
-{{:computing:b1.jpg?400|}}+Edit logs and cron to limit writes 
 +   
 +  cd /var/log && rm lastlog && ln -s /dev/null lastlog 
 +  cd /etc/cron.daily && mv man-db man-db.disabled [if it exists]
  
-Once the Beagle Bone is set up, one can leverage the screen command with ssh to tunnel to another hostand then pass a screen command to keep the commands you initiate persistent on the client you connected to That syntax looks like this:+To find latest writes to disk: find / -mount -newermt 14:44:00 [to see what logs are post-updatesi.e., for limiting writes to eMMC]
  
-  ssh -p 222 -t user@host.com screen -DRO+Verify /etc/fstab configuration, include noatime, for example:
  
 +  UUID=57e4a3f6-7951-40ae-ad25-b445959e1c30  /  ext4  noatime,errors=remount-ro  0  1
 +  debugfs  /sys/kernel/debug  debugfs  defaults  0  0
  
-Some other common speeds are 9600576003840019200.  For the Beagle Bone blackI always use 115200.  These speeds are in baud.+#If we use an external sdcard, we are less concerned with re-writesso enable the logs on the sdcard (create directories for each location belowmountpointsetc.
 +  UUID=eb885f2f-28a4-49a6-99c9-3f8b0b7a871d /sdcard ext4 noatime,nofail,errors=remount-ro  0  2 
 + 
 +  /sdcard/tmp           /tmp            none bind,nofail 0 0 
 +  /sdcard/var/log       /var/log        none bind,nofail 0 0 
 +  /sdcard/var/lib/mysql /var/lib/mysql  none bind,nofail 0 0  
 +  /sdcard/var/lib/cacti/ /var/lib/cacti none bind,nofail 0 0  
 +  /sdcard/var/lib/ntp    /var/lib/ntp   none bind,nofail 0 0 
 + 
 +Removing bloat update
      
 +  sudo systemctl stop cloud9.service cloud9.socket
 +  sudo systemctl disable cloud9.service cloud9.socket
 +  sudo rm -rf /var/lib/cloud9 /opt/cloud9 /etc/default/cloud9 /lib/systemd/system/cloud9.*
 +  sudo systemctl daemon-reload                  
 +  sudo systemctl stop bonescript-autorun.service bonescript.service bonescript.socket
 +  sudo systemctl disable bonescript-autorun.service bonescript.service bonescript.socket
 +  sudo rm -rf /lib/systemd/system/bonescript* /usr/local/lib/node_modules/bonescript
 +  sudo systemctl daemon-reload
 +  sudo apt remove -purge apache2* nginx*
 +  cd /opt/
 +  rm -rf *
 +  sudo apt autoremove
 +
 +Debian Bullseye sources.list
 +
 +  deb http://deb.debian.org/debian/ bullseye main contrib non-free
 +  #deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
 +  deb http://security.debian.org/debian-security bullseye-security main contrib non-free
 +  #deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
 +  deb http://deb.debian.org/debian bullseye-updates main contrib non-free
 +  #deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
 +  deb [arch=armhf] http://repos.rcn-ee.com/debian/ bullseye main
 +  #deb-src [arch=armhf] http://repos.rcn-ee.com/debian/ bullseye main
 +
 +This tutorial is a designated "Invariant Section" of the "Technotronic" section of Haack's Wiki as described on the [[https://jonathanhaack.com/dokuwiki/doku.php?id=start|Start Page]].
  
 + --- //[[jonathan@haacksnetworking.org|oemb1905]] 2023/02/26 17:52//
computing/beaglebone.1543109573.txt.gz · Last modified: 2018/11/25 01:32 by 127.0.0.1