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
howto:install_sata [2016/05/10 17:56]
tomtom
howto:install_sata [2019/05/20 01:07]
tierce old revision restored (2018/12/08 22:28)
Line 1: Line 1:
-**Work in progress** 
- 
 //​Disclaimer:​ what follows is true for LIME and LIME2 hardware.// //​Disclaimer:​ what follows is true for LIME and LIME2 hardware.//
  
Line 9: Line 7:
 ====== Partitionning and formatting ====== ====== Partitionning and formatting ======
  
-First, you have to prepare the drive. You will need at least one partition for the system (the ''​root''​ or ''/''​ partition), and possibly others for folders containing user data, such as ''/​home''​ and ''/​var''​. ​Unfortunately,​ user data tend to get scattered in various folders depending on the app producing ​it. So, for now, I will stick to a single ​partition ​containing everything.+First, you have to prepare the drive. You will need at least one partition for the system (the ''​root''​ or ''/''​ partition), and possibly others for folders containing user data, such as ''/​home''​ and ''/​var''​. ​Let's keep it simple ​for now, with everything (except ''/​boot''​ of course) on the same partition.
  
 to create a partition on your disk, run ''​cfdisk /​dev/​sda''​. The tool should be self explanatory - you should remove any existing partition, then create a //primary partition// with the number //1//. When asking for the start and end of the partition, just use the default values and the partition will fill the whole disk. to create a partition on your disk, run ''​cfdisk /​dev/​sda''​. The tool should be self explanatory - you should remove any existing partition, then create a //primary partition// with the number //1//. When asking for the start and end of the partition, just use the default values and the partition will fill the whole disk.
Line 16: Line 14:
  
 To format your new partition, just run ''​mkfs.ext4 /​dev/​sda1''​ To format your new partition, just run ''​mkfs.ext4 /​dev/​sda1''​
 +
 +====== Changing the boot configuration ======
 +
 +When booting, your cube needs to know where to find the root partition. To do so, edit the file ''/​etc/​default/​flash-kernel''​
 +
 +in this file, replace ''​root=/​dev/​mmcblk0p1''​ ("the root partition is on the SD card") with ''​root=/​dev/​sda1''​ ("the root partition is on the drive"​).
 +
 +Now, run ''​flash-kernel''​. This will regenerate the ''/​boot/​boot.scr''​ file. You may open this file and check if the line ''​root=/​dev/​sda1''​ is in there.
 +
 +You will also need to modify ''/​etc/​fstab''​ to match the desired configuration:​
 +
 +<​code>​
 +/​dev/​mmcblk0p1 /boot ext4       ​defaults ​       0       1 # /boot on the SD card
 +/dev/sda1 / ext4                defaults ​       0       1 # root on SATA drive
 +</​code>​
 +
 +====== Stop services ======
 +You should stop this service before to proceed the copy, else there is a risk your mysql database to be corrupted.
 +<​code>​
 +root@yunohost:/​media#​ service nginx stop
 +root@yunohost:/​media#​ service mysql stop
 +root@yunohost:/​media#​ service postfix stop
 +root@yunohost:/​media#​ service rmilter stop
 +root@yunohost:/​media#​ service dovecot stop
 +</​code>​
  
 ====== Copying ====== ====== Copying ======
 +
 +Now you have to copy everything from the SD card to the disk. ([[https://​wiki.archlinux.org/​index.php/​Full_system_backup_with_rsync#​With_a_single_command|source]])
 +
 +<​code>​
 +mkdir -p /tmp/sata
 +mount /dev/sda1 /tmp/sata
 +rsync -aAXv --exclude={"/​dev/​*","/​proc/​*","/​sys/​*","/​tmp/​*","/​run/​*","/​mnt/​*","/​media/​*","/​lost+found"​} / /tmp/sata
 +</​code>​
 +
 +
 +Now, your SATA drive contains a complete copy of your system, but one important thing is missing: your kernel is in ''/​tmp/​sata/​boot'',​ but this folder should actually mount /​dev/​mmcblk0p1,​ which already contains the system you are currently running.
 +
 +<​code>​
 +cd /tmp/sata
 +mv boot boot.old
 +mkdir boot
 +mount /​dev/​mmcblk0p1 boot
 +rsync -av boot.old/ boot/
 +</​code>​
 +
 +Now, the ''/​boot''​ of the new system exists alongside the ''/''​ of the old system.
  
 ====== Rebooting ====== ====== Rebooting ======
  
-====== Cleaning ======+Now, cross your fingers and reboot your cube. Or the other way around if it's too hard to type. 
 + 
 +Can you log into your cube ? Congratulations ! It worked ! 
 + 
 +====== Cleaning ​up ====== 
 + 
 +Now, your old system is cluttering the ''/​boot''​ folder. To clean it up, you can remove everything in this folder, and reuse the ''/​boot.old''​ copy we did earlier. 
 + 
 +<​code>​ 
 +cd /boot 
 +rm -rf * # /!\ proceed carefully /!\ 
 +mv /boot.old/* . 
 +rmdir /boot.old 
 +</​code>​
  
 +Everything should be fine now !
  
 +An alternative approach: remove everything from ''/​boot'',​ then run ''​update-initramfs -u''​. This will regenerate everything necessary inside ''/​boot''​.
  • howto/install_sata.txt
  • Last modified: 2019/05/20 01:07
  • by tierce