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

TODO #1

Open
12 of 15 tasks
xhebox opened this issue Feb 10, 2017 · 8 comments
Open
12 of 15 tasks

TODO #1

xhebox opened this issue Feb 10, 2017 · 8 comments

Comments

@xhebox
Copy link
Owner

xhebox commented Feb 10, 2017

common list:

  • upload all packages(20-07-04)
  • new package manager in rust
  • bash completion

special list(most are patches):

@xplshn
Copy link

xplshn commented Sep 29, 2024

Could an installation guide be added to the repo in the form of a INSTALL.md doc?

@xhebox
Copy link
Owner Author

xhebox commented Sep 29, 2024

Could an installation guide be added to the repo in the form of a INSTALL.md doc?

Oh.. Thanks, but I haven't released new rootfs for years, it is really a personal distro.

I do have binary management(with some bugs though). But I lost most of my binary tarballs about one year ago. I'd need to build about 100 packages for your installation...

If you are really interested, I could build one rootfs that you can chroot(probably one month later). And you need to build your own bootloader.

@xplshn
Copy link

xplshn commented Sep 29, 2024

Hmm, would such a setup be updateable? I was more interested in the package management and templates/recipes. I am also researching how to create my own Linux distro, I've tried with Alpine as a base before but I'd like something more hands-on. Thanks.

(if the rootfs is complete, making it bootable with syslinux or oslo is not a problem, thanks for replying)

:)

@xhebox
Copy link
Owner Author

xhebox commented Sep 29, 2024

Hmm, would such a setup be updateable? I was more interested in the package management and templates/recipes.

Yes, of course.

It mainly depends on your package manager: if it can uninstall/install packages. I made a very simple manager that stores a list of installed files, so it can uninstall/install packages. But my own package manager can't remove empty dir correctly.

I am also researching how to create my own Linux distro, I've tried with Alpine as a base before but I'd like something more hands-on. Thanks.

If that is your goal, I don't recommend that you use my linux. My package manager sucks, haha.

I would recommend that use apk/pacman or whatever package manager you like to build a complete different distro by writing recipes from scratch.

You see, things really matter are recipes/templates. I use MUSL as base libc, so I need a lot of patches for lots of packages.

And package management is, in fact, highly similar: add/del/query with hooks/chroot/build system, blah blah.

I started my distro by chroot into alpine(or arch?) rootfs, then pkg -M gcc/xxx, i.e. build toolchains first like LFS, then base packages... Then make a working rootfs out of your built packages, and build toolchains again... Then other packages you like.

This process did not rely on any specific package manager, try follow LFS but with a package manager, you'll get what you want.

Check eweOS, which is based on pacman obviously. But it is also highly customized.

@xplshn
Copy link

xplshn commented Sep 29, 2024

Thanks for the insight and consideration, I've already written a sort of "package manager", its called dbin and its available at https://github.com/xplshn/dbin, I did check EweOS and I think it is amazing, I'll probably fork it at some point and make it more like Alpine (I love suckless stuff).

@xhebox
Copy link
Owner Author

xhebox commented Sep 29, 2024

I've already written a sort of "package manager".

Cool.

For linux distro, it usually comes with a handy build system that resolve depedencies and release tarballs. For pacman it is makepkg, for apk it is abuild, and void-linux xbps-src, and sabotage-linux pure shell scripts.

As for me, I wrote them into one binary because I really don't want to maintain two programs. Once you got such a working system, you can start building your ports(slackware/bsd call the repo of recipes ports).

@xplshn
Copy link

xplshn commented Sep 29, 2024

Would you mind adding an MIT license or 3BSD? So that I can feel confident in borrowing your code..? I really like the way the build recipes for your distro work

@xhebox
Copy link
Owner Author

xhebox commented Sep 29, 2024

Would you mind adding an MIT license or 3BSD? So that I can feel confident in borrowing your code..? I really like the way the build recipes for your distro work

It is MIT. Just borrow it. In fact, I did borrowed scripts/patches from arch/alpine/void/yocto/gentoo sometimes, and even clear-linux from intel(they have some highperf patches).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants