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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
os:minibian [2016/05/21 04:54]
admin
os:minibian [2016/07/19 04:36]
admin [MINIBIAN]
Line 3: Line 3:
 The //​standard//​ OS for the Raspberry Pi certainly is [[https://​www.raspbian.org/​|Raspbian]],​ since it is the Foundation’s official supported operating system. The //​standard//​ OS for the Raspberry Pi certainly is [[https://​www.raspbian.org/​|Raspbian]],​ since it is the Foundation’s official supported operating system.
  
-Although it allows anyone to get their RasPi up and running in no time and without a hassle, one must not forget that it's also a tool that was developed in a defined philosophy. As stated by [[https://​minibianpi.wordpress.com/​2013/​07/​04/​minibian-minimal-raspbian-image-for-raspberry-pi/​|MINIBIAN'​s creator Luca Soltoggio]], //**the [Raspberry Pi] project was born primarily to provide a low cost computer in education and in the countries in the developing world**//. This is perfectly fine, and following this logic it's perfectly understandable that since the Jessie version of Raspbian, it boots straight into the desktop GUI (version 3 of GTK+ / LXDE), see [[https://​www.raspberrypi.org/​blog/​raspbian-jessie-is-here/​|this raspberry.org article]] which clearly states the //​philosophy//​ that lies behind the Raspbian releases.+Although it allows anyone to get their RasPi up and running in no time and without a hassle, one must not forget that it's also a tool that was developed in a defined philosophy. As stated by [[https://​minibianpi.wordpress.com/​2013/​07/​04/​minibian-minimal-raspbian-image-for-raspberry-pi/​|MINIBIAN'​s creator Luca Soltoggio]]:​
  
-What the Pi's project founders probably didn't imagine is the fact that their creation would also become ​**a perfect tool for many makers across the world**, who would be able to use it as a powerful, flexible and low cost **embedded system**.+> the [Raspberry Pi] project was born primarily to provide a low cost computer in education and in the countries in the developing world. 
 + 
 +This is perfectly fine, and following this logic it's perfectly understandable that since the Jessie version of Raspbian, it boots straight into the desktop GUI (version 3 of GTK+ / LXDE), see [[https://​www.raspberrypi.org/​blog/​raspbian-jessie-is-here/​|this raspberry.org article]] which clearly states the //​philosophy//​ that lies behind the Raspbian releases. 
 + 
 +What the Pi's project founders probably didn't imagine is the fact that their creation would also become 
 +a perfect tool for many makers across the world, who would be able to use it as a powerful, flexible and low cost **embedded system**.
  
 And there lies an enormous difference in expectations! And there lies an enormous difference in expectations!
Line 18: Line 23:
 ===== Installation ===== ===== Installation =====
  
-First we'll need to download the MINIBIAN image, which you is available from [[https://​sourceforge.net/​projects/​minibian/​|sourceforge.net]] or using this [[http://​188.226.145.236/​2016-03-12-jessie-minibian.tar.gz.torrent|torrent file]].+First we'll need to download the MINIBIAN image, which is available from [[https://​sourceforge.net/​projects/​minibian/​|sourceforge.net]] or using this [[http://​188.226.145.236/​2016-03-12-jessie-minibian.tar.gz.torrent|torrent file]]. 
 + 
 +==== Checksum ==== 
 + 
 +I won't start a discussion about the need of being careful about security, all I will say is that it is **highly recommended** to verify the authenticity of your downloaded file. This can easily be done by verifying it's checksum available on the official [[https://​minibianpi.wordpress.com/​download/​|MINIBIAN download page]] 
 + 
 +<​Code:​bash |Verify the sha1 checksum of your download:>​ 
 +> sha1sum /​path/​to/​your/​minibian/​yyyy-mm-dd-jessie-minibian.tar.gz 
 +</​Code>​ 
 + 
 +Compare this with the value given [[https://​minibianpi.wordpress.com/​download/​|on the Minibian download page]] 
 + 
 +==== Setup ==== 
 + 
 +We'll now follow the setup procedure that's recommended on [[http://​elinux.org/​RPi_Easy_SD_Card_Setup#​Using_the_Linux_command_line|elinux.org]]:​ 
 + 
 +<​Code:​bash>​ 
 +> cd /​path/​to/​your/​minibian/​ 
 +> tar xvf yyyy-mm-dd-jessie-minibian.tar.gz 
 +</​Code>​ 
 + 
 +Now identify the SD Card you want to use. Run the ''​lsblk''​ command once //​**before**//​ you insert your SD Card into a card reader port, on once //​**after**//,​ the difference in output should clearly show you the identification of the SD Card: 
 + 
 +<​Code:​bash | Before the SD Card is inserted:>​ 
 +> lsblk 
 +NAME          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
 +sda             ​8:​0 ​   0 931.5G ​ 0 disk  
 +├─sda1 ​         8:1    0     ​2G ​ 0 part [SWAP] 
 +├─sda2 ​         8:2    0    20G  0 part / 
 +└─sda3 ​         8:3    0 909.5G ​ 0 part  
 +  ├─vg01-opt ​ 254:0    0    20G  0 lvm  /opt 
 +  └─vg01-home 254:1    0 889.5G ​ 0 lvm  /home 
 +sr0            11:0    1  1024M  0 rom   
 +</​Code>​ 
 + 
 +<​Code:​bash | After the SD Card is inserted:>​ 
 +> lsblk 
 +NAME          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
 +sda             ​8:​0 ​   0 931.5G ​ 0 disk  
 +├─sda1 ​         8:1    0     ​2G ​ 0 part [SWAP] 
 +├─sda2 ​         8:2    0    20G  0 part / 
 +└─sda3 ​         8:3    0 909.5G ​ 0 part  
 +  ├─vg01-opt ​ 254:0    0    20G  0 lvm  /opt 
 +  └─vg01-home 254:1    0 889.5G ​ 0 lvm  /home 
 +sr0            11:0    1  1024M  0 rom   
 +mmcblk0 ​      ​179:​0 ​   0  14.7G  0 disk  
 +├─mmcblk0p1 ​  ​179:​1 ​   0   ​1.1G ​ 0 part  
 +├─mmcblk0p2 ​  ​179:​2 ​   0     ​1K ​ 0 part  
 +├─mmcblk0p5 ​  ​179:​5 ​   0    32M  0 part  
 +├─mmcblk0p6 ​  ​179:​6 ​   0    63M  0 part  
 +└─mmcblk0p7 ​  ​179:​7 ​   0  13.4G  0 part 
 +</​Code>​ 
 + 
 +In this case our target will be ''/​dev/​mmcblk0''​. Now we make sure all its partitions are unmounted and copy our image file to the SD Card (in this case, monitoring the dd progress through ''​pv''​):​ 
 + 
 +<​Code:​bash |Copy the img file to the SD Card> 
 +> sudo umount /​dev/​mmcblk0p1 /​dev/​mmcblk0p2 /​dev/​mmcblk0p5 /​dev/​mmcblk0p6 /​dev/​mmcblk0p7 
 +> sudo dd bs=4M if=yyyy-mm-dd-jessie-minibian.img | pv | dd of=/​dev/​mmcblk0 
 +198+1 records in[3.95MiB/​s] [                                                                                            <​=> ​          ] 
 +198+1 records out 
 +832569344 bytes (833 MB) copied, 356.034 s, 2.3 MB/s 
 + ​794MiB 0:05:56 [2.23MiB/s] [                                                                                          <​=> ​            ] 
 +1626112+0 records in 
 +1626112+0 records out 
 +832569344 bytes (833 MB) copied, 359.634 s, 2.3 MB/s 
 +</​Code>​ 
 + 
 +Note: remove the ''​| pv |''​ pipe part of the code if you don't wish to monitor the dd progress. 
 + 
 +Finally, let's safely eject the card using ''​sync''​ to ensure the write cache is flushed and that it is safe to unmount the SD card: 
 +<​Code:​bash |Safely eject the SD Card> 
 +> sudo sync 
 +</​Code>​ 
 + 
 +===== Resize the SD Partition ===== 
 + 
 +To use the full space available on the SD card, we'll need to extend the initial Minibian partition size, this operation is detailed on [[https://​minibianpi.wordpress.com/​how-to/​resize-sd/​|the following page of the Minibian website]] 
 + 
 +<​Code:​bash |Using fdisk to resize the SD partition size:> 
 +> sudo fdisk /​dev/​mmcblk0 
 +Welcome to fdisk (util-linux 2.25.2). 
 +Changes will remain in memory only, until you decide to write them. 
 +Be careful before using the write command. 
 + 
 + 
 +Command (m for help): p 
 +Disk /​dev/​mmcblk0:​ 14.7 GiB, 15716057088 bytes, 30695424 sectors 
 +Units: sectors of 1 * 512 = 512 bytes 
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes 
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes 
 +Disklabel type: dos 
 +Disk identifier: 0x00000000 
 + 
 +Device ​        ​Boot ​ Start     End Sectors ​ Size Id Type 
 +/​dev/​mmcblk0p1 ​         16  125055 ​ 125040 61.1M  b W95 FAT32 
 +/​dev/​mmcblk0p2 ​     125056 1626111 1501056 ​ 733M 83 Linux 
 + 
 + 
 +Command (m for help): d 
 +Partition number (1,2, default 2): 2 
 + 
 +Partition 2 has been deleted. 
 + 
 +Command (m for help): n 
 +Partition type 
 +   ​p ​  ​primary (1 primary, 0 extended, 3 free) 
 +   ​e ​  ​extended (container for logical partitions) 
 +Select (default p): p 
 +Partition number (2-4, default 2): 2 
 +First sector (125056-30695423,​ default 126976): 125056 
 +Last sector, +sectors or +size{K,​M,​G,​T,​P} (125056-30695423,​ default 30695423): 30695423 
 + 
 +Created a new partition 2 of type '​Linux'​ and of size 14.6 GiB. 
 + 
 +Command (m for help): w 
 +The partition table has been altered. 
 +Calling ioctl() to re-read partition table. 
 +Syncing disks. 
 +</​Code>​ 
 + 
 +To complete the operation, we still have to effectively enlarge the file system for it to take up he available complementary partition space: 
 + 
 +<​Code:​bash |Enlarge the File System to the full partition size:> 
 +> sudo e2fsck -f /​dev/​mmcblk0p2 
 +e2fsck 1.42.12 (29-Aug-2014) 
 +Pass 1: Checking inodes, blocks, and sizes 
 +Pass 2: Checking directory structure 
 +Pass 3: Checking directory connectivity 
 +Pass 4: Checking reference counts 
 +Pass 5: Checking group summary information 
 +/​dev/​mmcblk0p2:​ 15631/46944 files (0.2% non-contiguous),​ 120088/​187512 blocks 
 + 
 +> sudo resize2fs /​dev/​mmcblk0p2 
 +resize2fs 1.42.12 (29-Aug-2014) 
 +Resizing the filesystem on /​dev/​mmcblk0p2 to 3821296 (4k) blocks. 
 +The filesystem on /​dev/​mmcblk0p2 is now 3821296 (4k) blocks long. 
 +</​Code>​ 
 + 
 +===== Startup Your RasPi ===== 
 +Insert the SD Card in the RasPi and power it... 
 + 
 +If you're using a model 3 Pi, you might experience an error reported at startup looking like: 
 +<​Code:​bash |Startup log error:>​ 
 +cfg80211: Calling CRDA to update world regulatory domain 
 +... 
 +cfg80211: Exceeded CRDA call max attempts. Not calling CRDA. 
 +</​Code>​ 
 + 
 +This seems to be because the CRDA package is not installed by default, installing the following seems to fix this: 
 +<​Code:​bash |Install crda & wireless packages>​ 
 +> apt-get install crda iw wireless-regdb 
 +> reboot 
 +</​Code>​ 
 + 
 +=== Transfer your SSH public key === 
 + 
 +Now is a good time to transfer your ''​~/​.ssh/​id_rsa.pub''​ key to the RasPi so you'll be able to SSH in without having to enter a password every time, from your workstation type: 
 +<​Code:​bash |Transfer your SSH public key:> 
 +> ssh-copy-id root@you.mini.bian.ip 
 +</​Code>​ 
 + 
 +The IP of your installation is displayed in red during the boot sequence. 
 + 
 +===== WiFi ===== 
 + 
 +**NOTE**: the following is based on RasPi 3 model experimentation,​ you might need to install some specific packages for your hardware. 
 +In order to enable Wifi and Bluetooth on the new Raspberry Pi 3, one need to install some complementary packages as follow: 
 + 
 +<​Code:​bash |Install WiFi & Bluetooth packages:>​ 
 +> apt-get update 
 +> apt-get install firmware-brcm80211 pi-bluetooth wpasupplicant wireless-tools 
 +</​Code>​ 
 + 
 +To configure and use the WiFi network, you can scan for available SSIDs using: 
 +<​Code:​bash |Scan available WiFi networks>​ 
 +> iwlist scan 
 +Cell 02 - Address: 30:​91:​8F:​15:​C7:​F7 
 +  Channel:8 
 +  Frequency:​2.447 GHz (Channel 8) 
 +  Quality=36/​70 ​ Signal level=-74 dBm   
 +  Encryption key:on 
 +  ESSID:"​My-WiFi-SSID"​ 
 +  Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 
 +            24 Mb/s; 36 Mb/s; 54 Mb/s 
 +  Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s 
 +  Mode:​Master 
 +  Extra:​tsf=0000000000000000 
 +  Extra: Last beacon: 70ms ago 
 +  IE: Unknown: 0007444D5F62626F78 
 +  IE: Unknown: 010882848B962430486C 
 +  IE: Unknown: 030108 
 +  IE: Unknown: 2A0100 
 +  IE: Unknown: 2F0100 
 +  IE: IEEE 802.11i/​WPA2 Version 1 
 +      Group Cipher : CCMP 
 +      Pairwise Ciphers (1) : CCMP 
 +      Authentication Suites (1) : PSK 
 +  IE: Unknown: 32040C121860 
 +  IE: Unknown: 2D1A1C1......000000 
 +  IE: Unknown: 3D16080......000000 
 +  IE: Unknown: 7F08040......0000040 
 +  IE: Unknown: DDAB005......000120 
 +  IE: Unknown: DD09001......0C0000 
 +  IE: Unknown: DD18005......322F00 
 +</​Code>​ 
 + 
 +You still need to modify 2 files: 
 + 
 +<​Code:​bash |/​etc/​network/​interfaces>​ 
 +> nano /​etc/​network/​interfaces 
 +</​Code>​ 
 +<​Code:​bash |/​etc/​network/​interfaces>​ 
 +... 
 + 
 +allow-hotplug wlan0 
 +iface wlan0 inet manual 
 +  wpa-roam /​etc/​wpa_supplicant/​wpa_supplicant.conf 
 +</​Code>​ 
 + 
 +<​Code:​bash |/​etc/​wpa_supplicant/​wpa_supplicant.conf>​ 
 +> nano /​etc/​wpa_supplicant/​wpa_supplicant.conf 
 +</​Code>​ 
 +<​Code:​bash linenums:​1|/​etc/​wpa_supplicant/​wpa_supplicant.conf>​ 
 +network={ 
 +  ssid="​YourSSID"​ 
 +  psk="​YourPassword"​ 
 +
 +</​Code>​
  
 +Here, we use the ''​manual''​ setting with ''​wpa-roam'',​ this [[http://​raspberrypi.stackexchange.com/​questions/​9257/​whats-the-difference-between-wpa-roam-and-wpa-conf-in-the-etc-network-inte|stackexchange thread]] seems to imply that this configuration should suspend the WiFi when the Ethernet cable is plugged and vice-versa.
 +On the contrary, using ''​manual''​ with ''​wpa-roam'', ​ (this hasn't been tested by myself).
  
 +Nevertheless,​ using the above settings had **both WiFi and Ethernet** activated at the same time.
 +There is more to learn in this article about [[http://​manual.aptosid.com/​en/​inet-setup-en.htm|Setting up for WiFi Roaming with wpa]].
 +===== Bluetooth =====