User Tools

Site Tools


en:bpi-r2:ubuntu

Differences

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

Link to this comparison view

en:bpi-r2:ubuntu [2018/06/24 18:30]
frank [install System to SD-Card]
en:bpi-r2:ubuntu [2019/01/09 18:04]
Line 1: Line 1:
-====== Ubuntu ====== 
  
-===== debootstrap ===== 
- 
-Steps to get ubuntu-system (use armhf as arch): https://​help.ubuntu.com/​lts/​installation-guide/​armhf/​apds04.html 
- 
-<code bash> 
-sudo apt-get install qemu-user-static debootstrap binfmt-support 
- 
-targetdir=$(pwd)/​debootstrap_ubuntu_18.4 
-distro=bionic 
-arch=armhf 
- 
-sudo debootstrap --arch=$arch --foreign $distro $targetdir 
- 
-#if you got this error: E: Cannot install into target '​...'​ mounted with noexec or nodev 
-sudo mount -i -o remount,​exec,​dev /​mounted_dir 
- 
-sudo cp /​usr/​bin/​qemu-arm-static $targetdir/​usr/​bin/​ 
-sudo cp /​etc/​resolv.conf $targetdir/​etc 
-sudo distro=$distro chroot $targetdir 
-export LANG=C 
-/​debootstrap/​debootstrap --second-stage 
- 
-#echo "​deb-src http://​archive.ubuntu.com/​ubuntu $distro main">>/​etc/​apt/​sources.list 
-#echo "deb http://​security.ubuntu.com/​ubuntu $distro-security main">>/​etc/​apt/​sources.list 
-#echo "​deb-src http://​security.ubuntu.com/​ubuntu $distro-security main">>/​etc/​apt/​sources.list 
-echo "deb http://​ports.ubuntu.com/​ubuntu-ports/​ $distro main">>/​etc/​apt/​sources.list 
-echo "​deb-src http://​ports.ubuntu.com/​ubuntu-ports/​ $distro main">>/​etc/​apt/​sources.list 
-echo "deb http://​ports.ubuntu.com/​ubuntu-ports/​ $distro-updates main">>/​etc/​apt/​sources.list 
-echo "​deb-src http://​ports.ubuntu.com/​ubuntu-ports/​ $distro-updates main">>/​etc/​apt/​sources.list 
-echo "deb http://​ports.ubuntu.com/​ubuntu-ports/​ $distro-security main">>/​etc/​apt/​sources.list 
-echo "​deb-src http://​ports.ubuntu.com/​ubuntu-ports/​ $distro-security main">>/​etc/​apt/​sources.list 
- 
-echo "​bpi-r2-ubuntu"​ >/​etc/​hostname ​ 
-#set root-password! else you will not be able to login 
-passwd 
-</​code>​ 
-configure fstab/... like it's done for [[debian]] 
-:!: ubuntu 18.4 uses netplan as default network-framework [[https://​wiki.ubuntu.com/​BionicBeaver/​ReleaseNotes#​Network_configuration|bionic releasenotes]] 
-<code bash> 
-#exit chroot 
-exit 
-</​code>​ 
-pack: 
-<code bash> 
-cd $targetdir 
-sudo tar cvpzf ../​debootstrap_$distro.tar.gz . 
-</​code>​ 
- 
-===== install System to SD-Card ===== 
-[[storage#​manual_copy_of_os|prepare SD-Kard]] 
-<code bash> 
-#unpacking in root-partiton with 
-sudo tar -xpzf /​path/​to/​debootstrap_$distro.tar.gz 
-sudo mkdir lib/​modules/​ 
-cd lib/​modules/​ 
-#unpack kernel-modules here 
-</​code>​ 
- 
-temporary configure network: 
-<​code>​ 
-ip a 
-ip link set eth0 up 
-ip addr add 192.168.0.11/​24 dev lan0 #ip/prefix in your lan-segment not used 
-ip link set lan0 up 
-ip route add default via 192.168.0.10 #ip from your router 
-echo "​nameserver 192.168.0.10"​ >>/​etc/​resolv.conf #ip from your router for dns resolution 
-</​code>​ 
- 
-install “ifupdown” and add “netcfg/​do_not_use_netplan=true” to bootopts in /​boot/​bananapi/​bpi-r2/​linux/​uEnv.txt 
- 
-after reboot the "​old"​ system with /​etc/​network/​interfaces is used. currently /​etc/​resolv.conf is resetted every reboot 
- 
-<​code>​ 
-root@bpi-r2-ubuntu:​~#​ ls -l /​etc/​resolv.conf ​                                   ​ 
-lrwxrwxrwx 1 root root 39 Jun 13 10:27 /​etc/​resolv.conf -> ../​run/​systemd/​resolve/​stub-resolv.conf 
-#delete symlink and replace it by a static file with your settings 
-rm /​etc/​resolv.conf 
-echo "​nameserver 192.168.0.10"​ >>/​etc/​resolv.conf 
-</​code>​ 
- 
-in ubuntu 18.4 there is a own dns-service running, which have to be disabled (followed by a reboot), in order to get e.g. DNSMasq running (like in my wifi.sh-script) 
- 
-  systemctl disable systemd-resolved 
-===== create the image ===== 
-<code bash> 
-imgfile=/​path/​to/​ubuntu-18.04-bpi-r2-preview.img 
-sudo dd if=/dev/sdx of=$imgfile 
-#watch state of dd from another terminal with "sudo kill -SIGUSR1 $(pidof dd)" 
-#truncate image to last partitions end...make sure your path does not contain spaces! 
-IFS=$'​\t'​ #just for security reasons (ignore spaces in path) 
-ENDOFDATA=$(fdisk -l "​$imgfile"​ |tail -1|awk '​{print $3}') 
-echo $ENDOFDATA 
-truncate --size=$[($ENDOFDATA+1)*512] $imgfile 
-#check size 
-ls -lh "​$imgfile"​ 
- 
-#maybe do some stuff with the img 
-loopdev=$(losetup -f) 
-sudo losetup $loopdev $imgfile 
-sudo partprobe $loopdev 
-sudo mount ${loopdev}p2 /mnt 
-ls /mnt 
-#... 
-sudo sh -c 'cat /dev/zero >/​mnt/​null.dat'​ 
-sudo rm /​mnt/​null.dat 
-sudo umount /mnt 
- 
-#pack image 
-gzip $imgfile 
-md5sum $imgfile.gz > $imgfile.gz.md5 
-</​code>​ 
- 
-i have uploaded my image to [[https://​drive.google.com/​open?​id=1oP7jy1KrrIOifvImo2nQ59wx3_9hHkgk|my gdrive]] for testing (ubuntu-18.04-bpi-r2-preview.img.gz) 
- 
-Lan0-IPv4 is 192.168.0.11 (second port,next to wan) you can change it in /​etc/​network/​interfaces. More on [[.:​network:​]] 
-===== installation ===== 
- 
-Sdcard: 
- 
-  dd if=path/​to/​ubuntu.img of=/dev/sdx 
- 
-Emmc: 
- 
-  * dd if=path/​to/​ubuntu.img of=/​dev/​mmcblkx 
-  * maybe you need reboot reading the partitiontable 
-  * First follow steps [[storage#​install_os_on_emmc|here]] 
-  * in /​boot/​bananapi/​bpi-r2/​linux/​uEnv.txt:​ find the line “root=...” and replace /​dev/​mmcblk0p2 with /​dev/​mmcblk1p2 
-  * in /etc/fstab: replace /​dev/​mmcblk0p2 with /​dev/​mmcblk1p2 
- 
-===== SSH ===== 
-ssh-server is installed on my image [[https://​drive.google.com/​open?​id=1oP7jy1KrrIOifvImo2nQ59wx3_9hHkgk|ubuntu-18.04-bpi-r2-preview.img.gz from my gdrive]], but root-login have to be enabled 
- 
-  echo "​PermitRootLogin yes" >> /​etc/​ssh/​sshd_config 
-  service sshd restart 
- 
-you should create new host-keys for ssh... 
- 
-  #first delete your old keys 
-  rm /​etc/​ssh/​ssh_host_* 
-  #​reconfigure sshserver-package 
-  dpkg-reconfigure openssh-server 
en/bpi-r2/ubuntu.txt · Last modified: 2019/01/09 18:04 (external edit)