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
en:migration:from_v0_dot_2 [2019/08/08 05:53]
g4jc clarify more stuff
en:migration:from_v0_dot_2 [2019/11/17 21:25] (current)
emulatorman
Line 1: Line 1:
 ====== ​ Migrate from Milky Way v0.2 to v0.3 ====== ====== ​ Migrate from Milky Way v0.2 to v0.3 ======
- 
-<note warning>​Only for beta-test users, this will be stabilized for next release cycle</​note>​ 
-<note warning>​This page is under development!</​note>​ 
  
 Since Hyperbola migrated from [[https://​wiki.archlinux.org/​index.php/​Frequently_asked_questions#​Does_Arch_follow_the_Linux_Foundation'​s_Filesystem_Hierarchy_Standard_(FHS)?​|systemd'​s Filesystem Hierarchy used by Arch]] to the  Since Hyperbola migrated from [[https://​wiki.archlinux.org/​index.php/​Frequently_asked_questions#​Does_Arch_follow_the_Linux_Foundation'​s_Filesystem_Hierarchy_Standard_(FHS)?​|systemd'​s Filesystem Hierarchy used by Arch]] to the 
Line 11: Line 8:
 The **Filesystem Hierarchy Standard** (FHS) defines the main directories and their contents in GNU/Linux and other Unix-like computer operating systems such as [[en:​main:​nomenclatures#​hyperbolabsd|HyperbolaBSD]]. See [[en:​main:​fhs|our article]] for further details. The **Filesystem Hierarchy Standard** (FHS) defines the main directories and their contents in GNU/Linux and other Unix-like computer operating systems such as [[en:​main:​nomenclatures#​hyperbolabsd|HyperbolaBSD]]. See [[en:​main:​fhs|our article]] for further details.
  
-==== Warning ​=====+==== Warning ====
  
 <note warning>​Please read the whole warning</​note>​ <note warning>​Please read the whole warning</​note>​
Line 21: Line 18:
 <note important>​To the fullest extent permitted by applicable laws, **Hyperbola Project excludes and disclaims** liability for any losses and expenses of whatever nature and howsoever arising, including without limitation, any direct, indirect, general, special, punitive, incidental, or consequential damages; loss of use; loss of data; loss caused by a virus; loss of income or profit; loss of or damage to property; claims of third-parties or other losses of any kind or character.</​note>​ <note important>​To the fullest extent permitted by applicable laws, **Hyperbola Project excludes and disclaims** liability for any losses and expenses of whatever nature and howsoever arising, including without limitation, any direct, indirect, general, special, punitive, incidental, or consequential damages; loss of use; loss of data; loss caused by a virus; loss of income or profit; loss of or damage to property; claims of third-parties or other losses of any kind or character.</​note>​
  
-==== Migration ====+===== Migration ​=====
  
 Run the live image and mount your root partition to **/mnt**. Replace /​dev/​sd//​X//​ with your actual root partition. Run the live image and mount your root partition to **/mnt**. Replace /​dev/​sd//​X//​ with your actual root partition.
  
 <code bash> <code bash>
-# mount /dev/sdX /mnt+# mount /dev/sdXY /mnt
 </​code>​ </​code>​
- 
  
 <​note>​If you are using an encrypted file system, you will need to unlock it first and then mount it. <​note>​If you are using an encrypted file system, you will need to unlock it first and then mount it.
  
 <code bash> <code bash>
-# cryptsetup luksOpen /dev/sdX hdd+# cryptsetup luksOpen /dev/sdXY hdd
 </​code>​ </​code>​
 <code bash> <code bash>
Line 53: Line 49:
 </​note>​ </​note>​
  
-=== Remove custom packages and orphaned ones ===+==== Remove custom packages and orphaned ones ====
  
 <code bash> <code bash>
Line 66: Line 62:
 </​note>​ </​note>​
  
-=== Use Testing Mirrors ​=== +==== Update database ​====
- +
-Force live image environment to use testing repository exclusively,​ eg: +
- +
-<code bash> +
-# echo '​Server ​https://​mirror.fsf.org/​hyperbola/​gnu-plus-linux-libre/​testing/​$repo/​os/​$arch'​ > /​etc/​pacman.d/​mirrorlist +
-</​code>​ +
- +
-Force the **/mnt** environment to use testing mirror exclusively,​ eg: +
- +
-<code bash> +
-# echo '​Server ​https://​mirror.fsf.org/​hyperbola/​gnu-plus-linux-libre/​testing/​$repo/​os/​$arch'​ > /​mnt/​etc/​pacman.d/​mirrorlist +
-</​code>​+
  
 <note important>​ <note important>​
Line 90: Line 74:
 </​code>​ </​code>​
 </​note>​ </​note>​
- 
-=== Update database === 
  
 Update the live image environment'​s package database: Update the live image environment'​s package database:
Line 113: Line 95:
 <note important>​Note:​ Exporting the path is only required for older live cd images (eg. Milky Way <​=0.2.9)</​note>​ <note important>​Note:​ Exporting the path is only required for older live cd images (eg. Milky Way <​=0.2.9)</​note>​
  
-=== Fix package database ===+==== Fix package database ​====
  
 <code bash> <code bash>
Line 123: Line 105:
 </​code>​ </​code>​
  
-=== Update the filesystem ===+==== Update the filesystem ​====
  
 The [[https://​www.hyperbola.info/​packages/​core/​x86_64/​filesystem/​|filesystem]] ​ has significantly changed since v0.2.9, and requires manual upgrading. The [[https://​www.hyperbola.info/​packages/​core/​x86_64/​filesystem/​|filesystem]] ​ has significantly changed since v0.2.9, and requires manual upgrading.
Line 134: Line 116:
  
  
-=== Update all packages ===+==== Update all packages ​====
  
 <code bash> <code bash>
Line 140: Line 122:
 </​code>​ </​code>​
  
-=== Reinstall all non-explicitly installed packages ===+==== Reinstall all non-explicitly installed packages ​====
  
 <code bash> <code bash>
Line 146: Line 128:
 </​code>​ </​code>​
  
-=== Reinstall all explicitly installed packages ===+==== Reinstall all explicitly installed packages ​====
  
 <code bash> <code bash>
Line 152: Line 134:
 </​code>​ </​code>​
  
-=== Chroot into the installed system ===+==== Chroot into the installed system ​====
  
 <code bash> <code bash>
Line 158: Line 140:
 </​code>​ </​code>​
  
-=== Reinstall all packages again ===+==== Reinstall all packages again ====
  
 <code bash> <code bash>
Line 168: Line 150:
 </​code>​ </​code>​
  
 +==== Regenerate the kernel image ====
 +
 +<code bash>
 +# mkinitcpio -p linux-libre-lts
 +</​code>​
  
 ==== Reinstall Bootloader ==== ==== Reinstall Bootloader ====
Line 197: Line 184:
  
 <code bash> <code bash>
-# mount /dev/sdY /boot/efi+# mount /dev/sdXY /boot/efi
 </​code>​ </​code>​
  
Line 204: Line 191:
 </​code>​ </​code>​
  
-=== Exit from chroot ===+===== Complete the migration ===== 
 + 
 +==== Exit from chroot ​====
  
 <code bash> <code bash>
Line 212: Line 201:
 <note tip>You can also press Ctrl+D in order to exit from a chroot</​note>​ <note tip>You can also press Ctrl+D in order to exit from a chroot</​note>​
  
-=== Unmount and reboot ===+==== Unmount and reboot ​====
  
 <code bash> <code bash>
Line 218: Line 207:
 </​code>​ </​code>​
  
-=== Reboot system ===+==== Reboot system ​====
  
 <code bash> <code bash>
Line 226: Line 215:
 Then login into the new Milky Way v0.3! Then login into the new Milky Way v0.3!
  
-==== After migration ====+===== After migration ​=====
  
-This version of Milky Way contains ​notable changes:+This version of Milky Way contains ​notable changes:
  
     * **The adoption of LibreSSL** as default provider of Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols     * **The adoption of LibreSSL** as default provider of Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols
     * **The adoption of Xenocara** as default provider of display server for the X Window System     * **The adoption of Xenocara** as default provider of display server for the X Window System
-<note tip>If you did not already ​have xorg-server installed during migration, you can test the new Xenocara by installing it. +    * **All UXP applications** now have their own profile directory.
-<code bash> +
-# pacman -S xenocara-server +
-</​code>​ +
-</​note>​ +
  
-=== LibreSSL ===+==== LibreSSL ​====
  
 [[https://​www.libressl.org/​|LibreSSL]] is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes. [[https://​www.libressl.org/​|LibreSSL]] is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.
Line 259: Line 243:
   * libcrypto.so.1.0   * libcrypto.so.1.0
  
-=== Xenocara ===+==== Xenocara ​====
  
 [[https://​www.xenocara.org/​|Xenocara]] provides a framework to host OpenBSD modifications and to automate the build of the modular X.Org components, including 3rd party packages and some software maintained by OpenBSD developers. [[https://​www.xenocara.org/​|Xenocara]] provides a framework to host OpenBSD modifications and to automate the build of the modular X.Org components, including 3rd party packages and some software maintained by OpenBSD developers.
  
-It includes a customised X.Org X server that utilises a **dedicated _x11 user by default to drop privileges and perform privilege separation** in accordance to OpenBSD'​s least privilege policy. ​Futhermore, Xenocara includes several other projects, such as [[https://​www.hyperbola.info/​packages/​extra/​x86_64/​xenocara-cwm/|cwm]], **a stacking window manager for the X Window System**.+It includes a customised X.Org X server that utilises a **dedicated _x11 user by default to drop privileges and perform privilege separation** in accordance to OpenBSD'​s least privilege policy. ​Furthermore, Xenocara includes several other projects, such as [[https://​www.hyperbola.info/​packages/​?name=xenocara-cwm|cwm]],​ **a stacking window manager for the X Window System**.
  
 If you have **local or custom X.Org linked packages**, they need to be **rebuild against Xenocara**. There will likely be broken packages. If you have **local or custom X.Org linked packages**, they need to be **rebuild against Xenocara**. There will likely be broken packages.
Line 272: Line 256:
 Also packages with link to: Also packages with link to:
   * libX*.so*   * libX*.so*
 +
 +<note tip>If you did not already have xorg-server installed during migration, you can test the new Xenocara by installing it.
 +<code bash>
 +# pacman -S xenocara-server
 +</​code>​
 +</​note>​
  
 <note warning> <note warning>
 The **perform privilege separation feature** was disabled in Hyperbola GNU/​Linux-libre because it requires OpenBSD-specific system calls such as [[https://​man.openbsd.org/​OpenBSD-6.5/​pledge|pledge]] and [[https://​man.openbsd.org/​OpenBSD-6.5/​unveil|unveil]],​ however it will be implemented for [[en:​main:​nomenclatures#​hyperbolabsd|HyperbolaBSD]],​ an operating system which is being developed by **Hyperbola Project**. The **perform privilege separation feature** was disabled in Hyperbola GNU/​Linux-libre because it requires OpenBSD-specific system calls such as [[https://​man.openbsd.org/​OpenBSD-6.5/​pledge|pledge]] and [[https://​man.openbsd.org/​OpenBSD-6.5/​unveil|unveil]],​ however it will be implemented for [[en:​main:​nomenclatures#​hyperbolabsd|HyperbolaBSD]],​ an operating system which is being developed by **Hyperbola Project**.
 +</​note>​
 +
 +==== UXP applications ====
 +
 +Beginning with v0.3, Iceweasel-UXP,​ Icedove-UXP,​ and Iceape-UXP now reside in ~/​.hyperbola rather than ~/.mozilla which was kept for compatibility reasons during the Firefox 52 era.
 +
 +<note warning>
 +In order to use your existing UXP application profiles, they must be renamed to the fit the new syntax.
 +</​note>​
 +
 +<note tip>
 +For Iceweasel-UXP:​
 +
 +<code bash>
 +$ mkdir -p ~/​.hyperbola/​iceweasel-uxp
 +</​code>​
 +<code bash>
 +$ cp -a ~/​.mozilla/​firefox/​* ~/​.hyperbola/​iceweasel-uxp
 +</​code>​
 +
 +For Icedove-UXP:​
 +
 +<code bash>
 +$ mkdir -p ~/​.hyperbola/​icedove-uxp
 +</​code>​
 +<code bash>
 +$ cp -a ~/​.mozilla/​thunderbird/​* ~/​.hyperbola/​icedove-uxp
 +</​code>​
 +
 +For Iceape-UXP:
 +
 +<code bash>
 +$ mkdir -p ~/​.hyperbola/​iceape-uxp
 +</​code>​
 +<code bash>
 +$ cp -a ~/​.mozilla/​seamonkey/​* ~/​.hyperbola/​iceape-uxp
 +</​code>​
 +
 +When you are certain all applications have been successfully migrated, you may delete the old ~/.mozilla folder and it's sub-directories.
 </​note>​ </​note>​