Differences
This shows you the differences between two versions of the page.
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 2 notable changes: | + | This version of Milky Way contains 3 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> |