# HelloSystem enabling upgrade



## usakhncit (May 16, 2021)

Hi
Recently, I have downloaded and installed (for testing purpose) the HelloSystem which is based upon FreeBSD. Maybe you can advise me to ask on their forum, but here I am in "off-topic" section 
I don't care if any of my action break the HelloSystem. My question here is related to 'pkg'. When on HelloSytem, I issue the command (pkg upgrade), it gives following message:

```
pkg upgrade is not yet supported in hellosystem
```
It is said on their github page that: presently 'pkg upgrade' breaks the HelloSystem. But I don't care and looking forward to upgrade it (for testing) in any way.
So, my question here is that how they (HelloSystem team) have disabled 'pkg update' and 'pkg upgrade'? From some config file? And How can I enable it?
Thanks


----------



## zirias@ (May 16, 2021)

usakhncit said:


> Maybe you can advise me to ask on their forum


Yes.


usakhncit said:


> It is said on their github page that: presently 'pkg upgrade' breaks the HelloSystem.


Which is pretty clear, isn't it? So, "off-topic" won't really help here, I'd bet nobody around here would be able to tell you how to "fix" this.

Another idea would be, of course, to run FreeBSD


----------



## Alain De Vos (May 16, 2021)

The github link was an interesting read.


----------



## kpedersen (May 16, 2021)

It looks like the main community help services for that project are:

https://hellosystem.github.io/docs/developer/contact.html

You will have better luck there.


----------



## usakhncit (May 16, 2021)

I am using FreeBSD on one my of main systems (along with other OSes like Linux, Windows).
HelloSystem is based upon FreeBSD. After playing with it for an hour, I think "it is FreeBSD" with custom theming, packages and configuration. That's why I am interested in testing this system.
The message was given by 'pkg', so I think there may be a way to do the same on FreeBSD.


----------



## usakhncit (May 16, 2021)

Zirias said:


> Yes.
> 
> Which is pretty clear, isn't it? So, "off-topic" won't really help here, I'd bet nobody around here would be able to tell you how to "fix" this.
> 
> Another idea would be, of course, to run FreeBSD


You are funny


----------



## zirias@ (May 16, 2021)

Maybe it doesn't even install a correct database of all the packages installed, who knows? Most likely, the people building it.
I guess they didn't disable pkg upgrades "just because"…


----------



## forquare (May 16, 2021)

It looks like HelloSystem moves pkg sideways and then creates a short script to replace it with the message you reported.

To use pkg as you would on FreeBSD, instead use `pkg.real` - I think this aught to work looking at the links above.


----------



## zirias@ (May 16, 2021)

forquare said:


> To use pkg as you would on FreeBSD, instead use `pkg.real` - I think this aught to work looking at the links above.


Looking at that script _and_ at the issue referenced there, it seems `pkg` was intended to work on hellosystem and was disabled because of that issue as a "workaround".

So yes, this could work, but it could also completely b0rk your "hellosystem". You've been warned


----------



## usakhncit (May 16, 2021)

pkg.real worked. And after reboot, the system continues to work. The only difference is minor look and feel.
I am a long term Linux user, however, after it has messed up few years ago, I think that FreeBSD has no choice but to get successful and take its place.


----------



## SirDice (May 16, 2021)

usakhncit said:


> Recently, I have downloaded and installed (for testing purpose) the HelloSystem which is based upon FreeBSD.


It's what we call a _derivative_. Derivatives are not supported here. 

GhostBSD, pfSense, TrueNAS, and all other FreeBSD Derivatives



usakhncit said:


> Maybe you can advise me to ask on their forum, but here I am in "off-topic" section


Read rule #7: FreeBSD Forums Rules


----------



## Alain De Vos (May 16, 2021)

Not providing support, but discussing.
They "Use blue folder icons" ...


----------



## usakhncit (May 16, 2021)

Alain De Vos said:


> Not providing support, but discussing.
> They "Use blue folder icons" ...


Yes, you are right... just discussing...


----------



## usakhncit (May 16, 2021)

SirDice said:


> It's what we call a _derivative_. Derivatives are not supported here.
> 
> GhostBSD, pfSense, TrueNAS, and all other FreeBSD Derivatives


How can a FreeBSD derivative be created? I am searching for a guide (web page), but unable to find one. If you have knowledge of any online resource which guides about creating a FreeBSD derivative, then kindly share.


----------



## Alain De Vos (May 16, 2021)

2 ways I know.

1. You go to /usr/src and you type:

```
make -C release cdrom
```
This will make a .iso of freebsd

2. Freebsd memory disk tool,








						GitHub - mmatuska/mfsbsd: mfsBSD
					

mfsBSD. Contribute to mmatuska/mfsbsd development by creating an account on GitHub.




					github.com
				




Hellosystem seems to use this tool. I don't see what is the advantage of a memory disk.
PS :Just let us know the icon colors you will use.


----------



## Alain De Vos (May 16, 2021)

Hellosystem installs featherpad by default. Good idea I'll install this.
Hellosystem pokes in automount. Never used it. Always done explicitly. It's annoying when you want to raw write and it seems already mounted.


----------



## usakhncit (May 16, 2021)

Alain De Vos said:


> 2 ways I know.
> 
> 1. You go to /usr/src and you type:
> 
> ...


Does it mean that when people want to create a derivative, they install FreeBSD base system, their preferred utilities, desktop, etc and then issue the command (make -C release cdrom)?
You seem curious about icon colors


----------



## Alain De Vos (May 16, 2021)

My personal opinion is that when you create a derivative you must have something specific in mind.
For openbsd security was an important thing. And look thanks to openbsd we have openntpd and sndiod.
So it is not a bad thing.
Dragonlfy said I can do better than UFS2. Let me create my own filesystem.
Netbsd said I have some hardware I want to run onto.
What happened to pcbsd ? They had a tool to configure zpools.
Hellosystem is a derivative of furybsd ?


----------



## zirias@ (May 16, 2021)

Alain De Vos said:


> My personal opinion is that when you create a derivative you must have something specific in mind.
> For openbsd security was an important thing.


Maybe you should clearly separate "distribution", "derivative" and "fork". OpenBSD clearly is a fork (of NetBSD).

_distribution_: just some form of re-packaging original software, maybe add some config tools and other "nice" stuff
_derivative_: a project changing existing software, but following upstream (I think HardenedBSD might be an example of a FreeBSD derivative)
_fork_: take existing software, but only at one point in time, from then on, develop it yourself
Sure, not every project exactly matches one of these categories, but it helps


----------



## Alain De Vos (May 16, 2021)

I run freebsd with openntpd and sndiod. And this was not possible without openbsd. It create dynamics.
Zirias, I might not be exact in wordings.


----------



## usakhncit (May 16, 2021)

Alain De Vos said:


> My personal opinion is that when you create a derivative you must have something specific in mind.
> For openbsd security was an important thing. And look thanks to openbsd we have openntpd and sndiod.
> So it is not a bad thing.
> Dragonlfy said I can do better than UFS2. Let me create my own filesystem.
> ...


I am not in the field of computers (programming, networking, administration etc.), so I cannot say that by creating a derivative I can introduce "something new" or solve some "stonage" problem. 
However, I like to learn about stuff (especially Unix and Linux). So, testing distros/derivatives or trying to learn that how they are created is part of my learning process.


----------



## grahamperrin@ (Jun 18, 2021)

usakhncit said:


> … I like to learn about stuff (especially Unix and Linux). So, testing distros/derivatives or trying to learn that how they are created is part of my learning process.



See for example:









						Solved - FreeBSD-13.0-RELEASE-amd64-KDE-Plasma (2021-05-22)
					

Spun off from , thanks in particular to:  Mjölnir for beginning the discussion Samuel Venable  for creating the disk image.  General comments and questions  hald_enable="YES"  can be removed from /etc/rc.conf  – HAL is retired.  I'm curious about the 311 M given to the EFI system partition...




					forums.freebsd.org
				




Special thanks: Mjölnir and Samuel Venable.



forquare said:


> … To use pkg as you would on FreeBSD, instead use `pkg.real` …



Exactly.

`sudo mv /usr/sbin/pkg.real /usr/sbin/pkg`

However, proceed with caution.



usakhncit said:


> pkg.real worked. And after reboot, the system continues to work.



There's fragility if, for example, you prefer _latest_ packages.



usakhncit said:


> "it is FreeBSD" with custom theming, packages and configuration.



Plus (amongst other things) custom applications, which can break as a result of `pkg upgrade`:

some breakables, such as the custom Falkon, resemble the ports to FreeBSD
others breakables are unique to helloSystem and may be more difficult to fix.
From an experiment yesterday with recently-released *0.5.0 (0E223)*:




Partial fixes, none of which are officially supported by helloSystem, include:

`pkg install -qy py38-qt5 py38-pytz py38-dateutil py38-psutil`

– unfortunately, it seems that one of those installations breaks the previously working (*essential*) _Keyboard Layout_ application a.k.a. _Keyboard_ preferences:




– I imagine that installing another package from the FreeBSD repository can fix custom applications such as these, but I have not yet tested.

The good news is that it's still almost entirely FreeBSD, so (after overwriting the crippled custom `pkg` binary with FreeBSD's binary) you can install whatever you like.

sysutils/lxqt-config plugs some gaps but cannot fix the Apple Mac-oriented helloSystem keyboard layout so if you prefer a non-swapped layout etc.:

 use helloSystem _Keyboard_ preferences before upgrading packages *and* use the File menu to save preferences (there's no hint to save when closing the application).



Alain De Vos said:


> … featherpad…



<https://github.com/tsujan/FeatherPad/issues/423> was thought-provoking. There's probably no hope of the developer changing the default shortcut, so instead:






						252503 – editors/featherpad use sane, predictable shortcut Control-W to close tabs
					






					bugs.freebsd.org
				






Alain De Vos said:


> … What happened to pcbsd ? …



It's Official But Sad: TrueOS Is Over As Once The Best Desktop BSD OS - Phoronix

<https://web.archive.org/web/20200424111117/https://www.truenas.com/trueos-discontinuation/>



Alain De Vos said:


> … Hellosystem is a derivative of furybsd ? …



Partly. <https://hellosystem.github.io/docs/search.html?q=FuryBSD&check_keywords=yes&area=default>


----------



## grahamperrin@ (Jun 18, 2021)

*automount and automount*

For the benefit of readers who may be new to these things, we have (amongst other things): 

automount(8) integral to FreeBSD i.e. <https://www.freebsd.org/cgi/man.cgi?query=automount&sektion=8&manpath=FreeBSD+13.0-RELEASE>
non-integral sysutils/automount.
FreeBSD Desktop – Part 17 – Configuration – Automount Removable Media | 𝚟𝚎𝚛𝚖𝚊𝚍𝚎𝚗 (vermaden, 2018-10-11) is probably the best introduction to such things.



Alain De Vos said:


> … automount. Never used it. Always done explicitly. It's annoying when you want to raw write and it seems already mounted.



helloSystem aside: I once produced a USB flash drive that causes FreeBSD to panic (crash), if I recall correctly the production involved an untimely automated mount. 

For reference only:


```
root@mowa219-gjp4-8570p:/var/crash # cat info.7
Dump header from device: /dev/ada0p3
Architecture: amd64
Architecture Version: 2
Dump Length: 3197423616
Blocksize: 512
Compression: none
Dumptime: 2021-01-05 05:36:34 +0000
Hostname: mowa219-gjp4-8570p
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 13.0-CURRENT #75 main-c572-g82397d791: Sun Jan  3 20:00:09 GMT 2021
    root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG
Panic String: ufs_dirbad: /media/da1p1: bad dir ino 2 at offset 0: mangled entry
Dump Parity: 3353580913
Bounds: 7
Dump Status: good
root@mowa219-gjp4-8570p:/var/crash # cat info.8
Dump header from device: /dev/ada0p3
Architecture: amd64
Architecture Version: 2
Dump Length: 965197824
Blocksize: 512
Compression: none
Dumptime: 2021-01-05 05:43:56 +0000
Hostname: mowa219-gjp4-8570p
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 13.0-CURRENT #75 main-c572-g82397d791: Sun Jan  3 20:00:09 GMT 2021
    root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG
Panic String: ufs_dirbad: /media/da1p1: bad dir ino 2 at offset 0: mangled entry
Dump Parity: 3118830961
Bounds: 8
Dump Status: good
root@mowa219-gjp4-8570p:/var/crash # cat info.9
Dump header from device: /dev/ada0p3
Architecture: amd64
Architecture Version: 2
Dump Length: 920911872
Blocksize: 512
Compression: none
Dumptime: 2021-01-06 05:26:31 +0000
Hostname: mowa219-gjp4-8570p
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 13.0-CURRENT #75 main-c572-g82397d791: Sun Jan  3 20:00:09 GMT 2021
    root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG
Panic String: ufs_dirbad: /media/da1p1: bad dir ino 2 at offset 0: mangled entry
Dump Parity: 575902577
Bounds: 9
Dump Status: good
root@mowa219-gjp4-8570p:/var/crash # cat info.0
Dump header from device: /dev/ada0p3
Architecture: amd64
Architecture Version: 2
Dump Length: 1056231424
Blocksize: 512
Compression: none
Dumptime: 2021-01-06 05:41:55 +0000
Hostname: mowa219-gjp4-8570p
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 13.0-CURRENT #75 main-c572-g82397d791: Sun Jan  3 20:00:09 GMT 2021
    root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG
Panic String: ufs_dirbad: /media/da1p1: bad dir ino 2 at offset 0: mangled entry
Dump Parity: 2253689713
Bounds: 0
Dump Status: good
root@mowa219-gjp4-8570p:/var/crash # cat info.1
Dump header from device: /dev/ada0p3
Architecture: amd64
Architecture Version: 2
Dump Length: 998150144
Blocksize: 512
Compression: none
Dumptime: 2021-01-06 05:54:58 +0000
Hostname: mowa219-gjp4-8570p
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 13.0-CURRENT #75 main-c572-g82397d791: Sun Jan  3 20:00:09 GMT 2021
    root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG
Panic String: ufs_dirbad: /media/da0p1: bad dir ino 2 at offset 0: mangled entry
Dump Parity: 2538181233
Bounds: 1
Dump Status: good
root@mowa219-gjp4-8570p:/var/crash # cat info.2
Dump header from device: /dev/ada0p3
Architecture: amd64
Architecture Version: 2
Dump Length: 1024663552
Blocksize: 512
Compression: none
Dumptime: 2021-01-06 22:55:28 +0000
Hostname: mowa219-gjp4-8570p
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 13.0-CURRENT #75 main-c572-g82397d791: Sun Jan  3 20:00:09 GMT 2021
    root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG
Panic String: ufs_dirbad: /media/da0p1: bad dir ino 2 at offset 0: mangled entry
Dump Parity: 3307639153
Bounds: 2
Dump Status: good
root@mowa219-gjp4-8570p:/var/crash # cat info.3
Dump header from device: /dev/ada0p3
Architecture: amd64
Architecture Version: 2
Dump Length: 3206725632
Blocksize: 512
Compression: none
Dumptime: 2021-03-09 07:52:16 +0000
Hostname: mowa219-gjp4-8570p
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 14.0-CURRENT #88 main-n245277-0d3b3beeb25: Fri Mar  5 06:52:45 GMT 2021
    root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG
Panic String: ufs_dirbad: /media/Kingston_DataTraveler_3.0_60A44C413D03E310C7299800_p4: bad dir ino 715970 at offset 0: mangled entry
Dump Parity: 738202137
Bounds: 3
Dump Status: good
root@mowa219-gjp4-8570p:/var/crash #
```

Note: in this case, the _mangled entry_ in relation to UFS is *not* symptomatic of a problem with UFS. The underlying mangle occurred before the file system could be properly written to its partition.


----------



## grahamperrin@ (Aug 22, 2021)

usakhncit said:


> … The only difference is minor look and feel. …





grahamperrin said:


> … custom applications, which can break …



See for example <https://github.com/helloSystem/ISO/issues/267#issuecomment-890606208>; as far as I can tell this is breakage through installation, not through an upgrade. 

<https://github.com/helloSystem/ISO/issues/51#issuecomment-903210831> puts custom applications i.e. helloSystem applications in context.


----------



## grahamperrin@ (Aug 22, 2021)

grahamperrin said:


> Partial fixes, none of which are officially supported by helloSystem, include:
> 
> `pkg install -qy py38-qt5 py38-pytz py38-dateutil py38-psutil`



An expanded, sorted list: 

`pkg install -qy py38-dateutil py38-psutil py38-pytz py38-qt5 py38-qt5-webengine`


----------



## grahamperrin@ (Sep 13, 2021)

grahamperrin said:


> … others breakables are unique to helloSystem and may be more difficult to fix. …



With the most recent pre-release, which uses outdated FreeBSD 12.2-RELEASE (lacking fixes for errata and security advisories), there's:

*less breakage of helloSystem applications* ☑ (not in the FreeBSD ports collection) after updating the base system then upgrading to 13.0-RELEASE-p4.
<https://github.com/helloSystem/ISO/issues/267#issuecomment-917712268> | <https://github.com/helloSystem/ISO/issues/267#issuecomment-917884618>


----------



## grahamperrin@ (Feb 6, 2022)

Ole said:


> … would also like to see these meta ports: *… helloSystem, …*



<https://github.com/helloSystem/ISO/releases/tag/r0.6.0> ◀ <https://old.reddit.com/r/freebsd/comments/pzxxw4/-/>

0.6.0 is outdated, but there was this:



> *Upstreaming efforts*
> 
> helloDesktop is the desktop environment used in helloSystem. We would like to get it ported to FreeBSD.
> 
> ...


----------

