Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging 32 and 64 bit efforts #1

Open
q66 opened this issue May 18, 2019 · 29 comments

Comments

Projects
None yet
6 participants
@q66
Copy link
Contributor

commented May 18, 2019

Currently this org is for 64-bit ppc stuff only, but I increasingly find myself either doing ppc32 stuff alongside ppc64, or the changes being outright the same. Additionally, I have plans to start building 32-bit ppc packages for my repository as well (I have already begun; it will go on the big endian builder).

@stenstorp, you currently manage the 32-bit stuff in your separate org, how do you feel about moving that to here? I already added you previously, so you should have access to the repositories. Having two places for ppc just potentially creates confusion; if you're ok with moving in, we can rename this org (to e.g. void-power) and I can update the documentation and stuff.

@q66 q66 assigned q66 and stenstorp May 18, 2019

@stenstorp

This comment has been minimized.

Copy link

commented May 19, 2019

That org has been silent since the first commits; I've just been using my personal fork. I haven't heard from the owner @foxlet for a while, I'll see if I can contact him.
Nothing really to move over, most of my stuff has been merged and there's nothing to there, I'll just push my new commits here and get foxlet to delete the old org.
Thanks for building the 32 bit packages too, I haven't got too much fast hardware to do that myself.
The name you chose sounds good.
I'll see if I can fill in some OpenFirmware stuff in the docs too.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 19, 2019

I don't see foxlet in "people" for void-ppc anymore, so they probably removed themselves, I think you are the owner of the org now...

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 19, 2019

And yes, filling in OF stuff for the installation docs would be super helpful, it'd help me deal with installation media compatible with older hardware as well.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 19, 2019

More or less updated everything now. And initial 32-bit builds are being uploaded, for now base-system :)

@q66 q66 closed this May 19, 2019

@foxlet

This comment has been minimized.

Copy link

commented May 19, 2019

I didn't remove myself, it was just private. The other org won't get deleted since I still use it internally and is still attached to my binary repo at https://furcode.co/void/public/.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 19, 2019

Alright then.

@foxlet

This comment has been minimized.

Copy link

commented May 19, 2019

Perhaps in the future it can be reconciled, but at the moment without a clear direction (as stated on Twitter) I'm hesitant to put any work into it.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 19, 2019

My direction is pretty clear - get everything as close to parity with x86_64 as soon as possible (and for ppc64le that's pretty much almost done including a nearly complete binary repo with thousands of packages, other targets are getting there). Whether you decide to contribute towards that goal is up to you.

@stenstorp

This comment has been minimized.

Copy link

commented May 20, 2019

I've had a look over your branches, I can't see anything that is either not already upstreamed or unable to be upstreamed. It just seems to be your kernel config and altivec in the build/cross profiles that differ.
I'm sure that the kernel configs can be combined where appropriate. As for altivec, disabling it for all packages allows for PPC CPUs without altivec to be supported (Like the G3s) for maximum compatibility.

@foxlet

This comment has been minimized.

Copy link

commented May 28, 2019

I can concede on Altivec (for the most part that's how it's handled due to some of my G3-class hardware), but not all the branches are visible, parts of it are for hardware (like the Wii, Wii U, or APM SoCs) that don't seem like they would fit here.

@foxlet

This comment has been minimized.

Copy link

commented May 28, 2019

My direction is pretty clear - get everything as close to parity with x86_64 as soon as possible (and for ppc64le that's pretty much almost done including a nearly complete binary repo with thousands of packages, other targets are getting there). Whether you decide to contribute towards that goal is up to you.

I have been personally contributing towards that goal, I was the one who started interest in 32-bit PPC in the first place. However, communication still feels lacking, I'd like to help remedy that first before merging together, including any suggestions you might have for that.

@stenstorp stenstorp reopened this May 28, 2019

@stenstorp

This comment has been minimized.

Copy link

commented May 28, 2019

Personally, I am going to communicate via GitHub issues and email (create a Void Linux mailing list?) as real-time communication methods are not effective over multiple time zones. I am also not willing to learn and use a new communication method to talk with only 1 or 2 other people.

As for the obscure hardware support, if the changes cannot be merged, perhaps they could be separated into new packages similar to what is done with the raspberry pi?

@mePy2

This comment has been minimized.

Copy link

commented May 28, 2019

Hello everyone,

It’s great seeing somebody talking here. Let’s keep this thing active!
Anyway (I’m just a fan/no programmer etc.) I would say, you are writing here like a IM (a lot)!

I would suggest us to create:
• A mailing list/GitHub Issues for “issues” talking
• A Discord Server (or, although I do not really use/like it, a Slack workspace) for general talking, discussion etc.

Best

...maybe a bit OT?

@stenstorp

This comment has been minimized.

Copy link

commented May 28, 2019

Hi @mePy2, thankyou for your interest in this project, it's nice to know we have a fan out there :)
This is, though, a matter only really concerning @q66 @foxlet and I; not really anyone else.
As for the suggestion of Slack and Discord, I don't think relying on a proprietary program for the development of an open-source project is appropriate (no discord on PowerPC!).
If you would like to help out, testers are always appreciated. Don't need to know programming to do that! Feel free to send me an email, I don't want this issue going too off-topic.

@pullmoll

This comment has been minimized.

Copy link

commented May 28, 2019

Hi all, just wanted to tell that I successfully booted my G5 using the latest https://void-ppc64.octaforge.org/live/current/void-live-ppc64-20190528.iso. I booted using an USB stick via openfirmware boot ud:,\\:tbxi which is surprisingly slow - at least it works.

One thing that could be added is a force_drivers+=" windfarm_core " for /etc/dracut.conf or a corresponding command line when running dracut to generate the initramfs for ppc64 BE.

It's great to now have a simple way to recover from a borked Void install or update. Previously I had to resort to installing Debian ppc64, which itself is cumbersome, and fixing or installing Void with the help of xbps-install.static from there.

I now also have a PowerBook G4 and can do some more testing for ppc and ppc-musl if needed.

I see the same problems as @stenstorp with polkit-1.16 now segfaulting in libpthread-2.29.so. The update of the glibc-2.29 patchset (i.e. glibc-2.29_5) didn't change that. I think we could perhaps peek at Debian's patches for glibc to be inspired.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 28, 2019

@mePy2, while I do have a discord account, I'm not a fan and I think it's best to stay away from that kinda stuff for open source development; I still think IRC is best suited for these things, having a bouncer or a client in a tmux instance on a server deals with missing chat history and timezone shift... that said, github covers most things well enough I'd say.

@foxlet if you want to improve communication, feel free to propose what you would like to see changed/how you would like to see it done; as far as room for improvement goes, I'm always open to suggestions.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 28, 2019

@pullmoll, what benefit does having the windfarm drivers in the initramfs provide? Is it necessary to have it before the rootfs is mounted? And if so, this is something to be dealt with for both live initramfs and the installed system initramfs, right?

@mePy2

This comment has been minimized.

Copy link

commented May 28, 2019

Hi @q66. May I ask you why? I do not like it very much neither. But I am using to it. There are few project which interest me that use it. I started to use it also for a personal project...

I used Riot for accessing IRC channels without losing chat history. I didn’t really appreciate the web UI. It did not seem so well-made.

Anyway, I read something about Discord and privacy... but ATM I do not know a really good alternative to it.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 28, 2019

@mePy2, simply because it's proprietary software that deals with user data and uses a web frontend, while there are decentralized and more open alternatives that have been around for a lot longer and have been generally working fine. You don't need to register to use IRC, you don't need to provide any data, it works even from command line and on slow connection, uses minimal resources, and servers are generally not run by commercial companies.

@foxlet

This comment has been minimized.

Copy link

commented May 28, 2019

@foxlet if you want to improve communication, feel free to propose what you would like to see changed/how you would like to see it done; as far as room for improvement goes, I'm always open to suggestions.

Given each person has a client preference, a bridged Matrix/IRC channel would work, with IRC users responsible for keeping their messages.

@pullmoll

This comment has been minimized.

Copy link

commented May 28, 2019

@q66 without the windfarm_core module and its sub modules loaded the G5 starts stirring up all its fans after some time, and the G5 has lots of them. It'd be good to have it loaded as early as possible in the live initramfs. Not sure if the dracut package should add a default for ppc64{,-musl} as well.

@foxlet

This comment has been minimized.

Copy link

commented May 29, 2019

Since most agree on using IRC, I'd like to open a conversation and get down all the merge, name, and membership details. I'm ready to make the channel (on freenode) whenever you are.

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 29, 2019

@pullmoll, okay, so it's not crucial but probably worth looking into. Sounds to me like the standard installed initramfs should also have it.
@foxlet just join me (same goes for anyone else who feels like popping in) in #voidlinux-ppc whenever you like

@ph4nt0m117

This comment has been minimized.

Copy link

commented May 29, 2019

Hi

Got ppc32 running on my pbg4 A1138, running ok.

Couple issues I had with just the installer, like order of the list, it jumping around and such. Only complaint really.

Is there a way I could work on the installer? I'm relatively unfamiliar with github, but I'd like to see if I could fix some of the issues I had with the installer.

Also, irc would be neat, but what happened about the telegram group?

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 29, 2019

Alright, good to hear. The installer is in the void-mklive repo, the installer.sh.in. You use make to generate the actual scripts from that first, then you can use build-live-images.sh as a way to simply generate an iso you want (./build-live-images.sh -a ppc -b base for example). You will need to install some dependencies, particularly squashfs-tools must be installled on the host system. Mklive must be run on a system binary compatible with the target, i.e. for 32-bit ppc it's 32-bit ppc or 64-bit BE ppc.

Raise a pull request when you have changes you are happy with.

@stenstorp

This comment has been minimized.

Copy link

commented May 30, 2019

Mklive must be run on a system binary compatible with the target, i.e. for 32-bit ppc it's 32-bit ppc or 64-bit BE ppc.

I've been able to make isos for PPC on my x86 machine, It just uses qemu for stuff. Works for metm

@q66

This comment has been minimized.

Copy link
Contributor Author

commented May 30, 2019

mkrootfs can use qemu, mklive can not

@ph4nt0m117

This comment has been minimized.

Copy link

commented May 30, 2019

Thank you @q66 I'd have newer known where to look.

@ph4nt0m117

This comment has been minimized.

Copy link

commented May 31, 2019

I want to leave a follow up, whatever issues I had with the installer seem to be gone.

Must have been a fluke? I'm unsure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.