joshiemoore/snakeware

How did you make Snakeware?

Closed this issue · 18 comments

I just want to know what Linux Distro you based Snakeware on. I want to try to build my own sort of Python Operating System. Or at least something that uses a Python Interface.

EDIT: thanks to @mochidaz and @donno2048 for telling me this! So I want to know how you did it? How did you build an operating system from scratch, that uses Python? That is insanely mind-blowing to me and I kinda want to do it myself. So, how do you make an OS that uses Python?

EDIT #2: the "this" at the beginning of edit #1 was that Snakeware isn't based on a Linux Distro.

Umm, I forgot to add the question tag. Closing!

nvm I just realized that I can't add the question tag in the first place! Reopening!

This is not simply based on a distro. It's built upon buildroot

Not based on any distros, its built from scratch

ohhhhhhhhhhhhhh okay

So how did you do it? I kind of want to make my own after experiencing Snakeware.

I would suggest you look at the build script and the configuration file.

And obviously, learn to use buildroot, documentation

@donno2048 okay thanks.

Well, this probably can help, too

http://www.linuxfromscratch.org/

@mochidaz Thanks. I was having problems with buildroot. Let's hope that this works!

@mochidaz I've tried it in the WSL environment on Windows 10 and it won't work. Here is the error:

Creating and cleaning /root/tmp
Processing bootscripts...
Adjusting for revision sysv...
I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/profiling/profile-mode.xsl
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/profiling/profile-mode.xsl"
compilation error: file stylesheets/lfs-xsl/profile.xsl line 15 element import
xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/profiling/profile-mode.xsl
I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/common/stripns.xsl
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/common/stripns.xsl"
compilation error: file stylesheets/lfs-xsl/profile.xsl line 19 element import
xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/common/stripns.xsl
make: *** [Makefile:126: validate] Error 5

Oh, if you're using wsl it's impossible (even if you fix this error) because buildroot and such tools are case sensitive, while Windows isn't, you could try forcing Windows to do so too
(

Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "fsutil.exe file setCaseSensitiveInfo /Users enable"'

)
But it will probably cause confusion in ProfileList and other registries because they are not case sensitive. You should really not do that.

@donno2048 oh. So should I just use a VM? Like VMware?

Yeah, or a docker, I guess...

@donno2048 I have no idea what Docker is so I am gonna use a VM.

I think you need to install linux on PC to build. Really, GCC on stage 8(7) building very long....

If I may, I learned something recently(this is very off-topic...)! Multipass, which is advertised as a quick and easy way to make VMs, actually lacks the ability to compile snakeware(using ubuntu)! Which means Multipass does not create truly isolated VMs. I thought this was interesting, but besides, VMWare or VirtualBox work fine. You need to download the image, but they work. Of course, my testing was on Windows, not Linux, but you shouldn't need a VM on Linux(even alpine has a gmake package). So, that's all I have to say.

@SorrowEater that is very off-topic haha.