Giter Club home page Giter Club logo

gloire's Introduction

Logo of the distro

Gloire

Gloire is an OS built with the Ironclad kernel and using GNU tools for the userland, along with some original applications like util-ironclad. This repository holds scripts and tools to build the OS from the ground up on a Linux-based system.

Gloire is named after the french ironclad, which was the first ocean-going vessel of its kind.

Gloire running the JWM window manager, a terminal emulator, xeyes, and a game Gloire running the JWM window manager, a terminal emulator, xeyes, and a game Gloire generating an RSA key and running neofetch in its fallback shell Gloire generating an RSA key and running neofetch in its fallback shell.

Downloading

One can grab a pre-built Gloire image here.

Running

On virtual machines

One can run either the downloaded disk image (uncompressing it first) or a built image with a command as such:

qemu-system-x86_64 -enable-kvm -m 2G -M q35 -hda gloire.img

Where gloire.img is your image of choice.

On physical hardware

Gloire should run fine on any x86 machine, be it UEFI or BIOS. For running it, one can burn your gloire image (uncompressing it first if downloaded) to a SATA or ATA drive. USB sticks for booting are not supported (for now, stay posted!).

Contributing

Gloire accepts contributions for new packages or any other kind of changes using the pull request system baked into Github. Please submit PRs here or read our documentation on how to do so and some things to keep in mind porting on the project's wiki.

Building

The project uses jinx as its build system, which is included in the tree. The instructions to build are:

./jinx build-all           # Build all packages.
./build-support/makeiso.sh # Create the image.

These commands will generate a bootable disk image that can be burned to storage media or be booted by several emulators.

A list of the tools needed for compilation of the OS are:

  • git for cloning packages.
  • curl and bsdtar for setting up jinx.
  • Common UNIX tools like bash, coreutils, grep, find, etc.
  • sgdisk from the gptfdisk package for building the image.
  • qemu for testing, if wanted.
  • tar and lzip for extracting packages.
  • rsync for building bootable images.

All of said things can be installed in debian-based systems with

sudo apt install lzip libarchive-tools git build-essentials rsync

Licensing

A list of the licenses used by the software ported to Gloire is:

Thanks to

gloire's People

Contributors

irvise avatar mintsuki avatar streaksu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gloire's Issues

`xbstrap init ..` fails (readme instructions)

~/3rd/repos/Gloire$ xbstrap init ..
xbstrap: Using pure Python YAML parser
       : Install libyaml for improved performance
Traceback (most recent call last):
  File "/home/henley/adacore/e3/bin/xbstrap", line 8, in <module>
    sys.exit(main())
  File "/home/henley/adacore/e3/lib/python3.9/site-packages/xbstrap/__init__.py", line 898, in main
    do_init(args)
  File "/home/henley/adacore/e3/lib/python3.9/site-packages/xbstrap/__init__.py", line 74, in do_init
    raise RuntimeError("Given src_root does not contain a bootstrap.yml")
RuntimeError: Given src_root does not contain a bootstrap.yml

moving to base-files works:

~/3rd/repos/Gloire$ cd base-files/
henley@henley-Precision-7750:~/3rd/repos/Gloire/base-files$ xbstrap init ..
xbstrap: Using pure Python YAML parser
       : Install libyaml for improved performance
warning: bootstrap.link already exists, skipping...

Another vfs-ext error on directory listing

Similar to issue #7, I logged in and tried to mkdir run in /var dir, that failed so I 'touch'ed a run file...then I tried to mkdir run overtop of the 'run' file...this failed, of course. So then I removed the 'run' file and did a mkdir run and it seemed to work, but then I got this error when I tried to ls -al ./run in the /var dir:

qemu-system-x86_64 -m 5G -hda gloire.img -serial stdio -M q35 -cpu host -enable-kvm    
 WARNING: Image format was not specified for 'gloire.img' and probing guessed raw.    
          Automatically detecting the format is dangerous for raw images, write operations on block 0 will be         restricted.    
          Specify the 'raw' format explicitly to remove the restrictions.    
 (0000000006) x86_64-multiboot2 physical map:                                        
 (0000000006) 00000000000000500000 + 0000000000007FADF000 MEMORY_FREE                
 (0000000006) 0000000000007FFDF000 + 00000000000000021000 MEMORY_RESERVED            
 (0000000006) 000000000000B0000000 + 00000000000010000000 MEMORY_RESERVED            
 (0000000006) 000000000000FED1C000 + 00000000000000004000 MEMORY_RESERVED            
 (0000000006) 000000000000FEFFC000 + 00000000000000004000 MEMORY_RESERVED            
 (0000000006) 000000000000FEFFC000 + 00000000000000004000 MEMORY_RESERVED            
 (0000000006) 00000000000100000000 + 000000000000C0000000 MEMORY_FREE                
 (0000000003) Ironclad 654e6fc                                                       
 (0000000003) Please report bugs at https://ironclad.nongnu.org/usersupport.html     
 (0000000003) Scrollwheel support enabled for mouse                                  
 (0000000003) Searching root 123e4567-e89b-12d3-a456-426614174000                    
 (0000000003) Mounting root sata01p2                                                 
 (0000000003) Booting init /sbin/gcon                                                
 (0000000198)                    --:::-+*.                                  
 (0000000198)   ....             =%%%%%%:++==..:+#:                         
 (0000000198) +*+++++**++=-.      +:%%%%%=+%%%:.-%%.                        
 (0000000198) --=+++=-----=**+.   .+:%%%%*-%%%:.-%%                         
 (0000000198) -=++++++----#@@=#-   -:=%%%%:%%%-.:%%:                        
 (0000000198) ++++++++*@@==%%-+#=   +.%%%#:%%%-.:%%#                        
 (0000000198) +++++++--+==*%%**-#   .+*-   *%%=..#%%+                       
 (0000000198) +++++++=----====-=%    -:            .-                       
 (0000000198) ++++++++=---=+++++%     +                                     
 (0000000198) Panic: Ada exception triggered at vfs-ext.adb:1628            
 Killed    

I assume Dir_Name'Length ends up being zero somehow for the Entity.Name_Buffer?

Graphical target does not work

Hi,

I rebuilt Gloire anew just now. I wanted to test it an see how far it had gotten.

I have built it from scratch. The process went smoothly. After launching the gloire.img image in QEMU using the recommended command (see README), the boot screen takes place. When I select the graphical target, the screen turn black and nothing else happens.

I activated the serialport in QEMU and the following message takes place:

Starting SLiM ... rtld: DT_SYMBOLIC is not implemented correctly! The last part is in red and is repeated a couple more times. Then X fails to start citing the lack of /var/run/slim.auth file, which was probably deleted by the SLiM process just before citing slim: Stale lockfile found, removing it.

Is there a problem with the libc or something else here?

Best regards,
Fer

`xbstrap install --all` fails (readme instructions)

When building (xbstrap install --all) I get the following:

gcc -DHAVE_CONFIG_H -I. -I/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas  -I. -I/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas -I../bfd -I/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/config -I/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/../include -I/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/.. -I/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/../bfd -DLOCALEDIR="\"/home/henley/3rd/repos/Gloire/base-files/tools/host-binutils/share/locale\""  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Wwrite-strings -I/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/../zlib -O2 -pipe   -MT listing.o -MD -MP -MF $depbase.Tpo -c -o listing.o /home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/listing.c &&\
mv -f $depbase.Tpo $depbase.Po
/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/as.c: In function 'print_version_id':
/home/henley/3rd/repos/Gloire/base-files/../ports/binutils/gas/as.c:237:21: error: 'TARGET_ALIAS' undeclared (first use in this function); did you mean 'TARGET_ARCH'?
  237 |            VERSION, TARGET_ALIAS, BFD_VERSION_STRING);

Any idea? Thx.

Failure to start X11

I am getting this set of errors with a newly built system from yesterday (Feb 29, 2024), when attempting to start the graphical Gloire OS (qemu version 8.2.0):

qemu-system-x86_64 -m 5G -drive file=gloire.img,format=raw -serial stdio -M q35 -cpu host -enable-kvm
(0000000002) x86_64-multiboot2 physical map:                                    
(0000000002) 00000000000000500000 + 0000000000007FADF000 MEMORY_FREE            
(0000000002) 0000000000007FFDF000 + 00000000000000021000 MEMORY_RESERVED        
(0000000002) 000000000000B0000000 + 00000000000010000000 MEMORY_RESERVED        
(0000000002) 000000000000FED1C000 + 00000000000000004000 MEMORY_RESERVED        
(0000000002) 000000000000FEFFC000 + 00000000000000004000 MEMORY_RESERVED        
(0000000002) 000000000000FEFFC000 + 00000000000000004000 MEMORY_RESERVED        
(0000000002) 00000000000100000000 + 000000000000C0000000 MEMORY_FREE            
(0000000001) Ironclad 654e6fc                                                   
(0000000001) Please report bugs at https://ironclad.nongnu.org/usersupport.html 
(0000000001) Scrollwheel support enabled for mouse                              
(0000000001) Searching root 123e4567-e89b-12d3-a456-426614174000                
(0000000001) Mounting root sata01p2                                             
(0000000001) Booting init /sbin/init                                            
Epoch Init System 1.3.0 "Fluoxetine"
Mounting /etc/fstab partitions ... Done
Starting metalog ... Done
Starting crond ... crond: can't open or create /var/run/crond.pid: I/O error (EIO)
mlibc: syslog: connect returned an error, falling back to infoLogger
mlibc: syslog: (CRON) DEATH (can't open or create /var/run/crond.pid): I/O error (EIO)
FAIL
Starting Xorg ... Done
Starting SLiM ... Done
(EE) 
Fatal server error:
(EE) Linking lock file (/tmp/.X0-lock) in place failed: Invalid argument (EINVAL)
(EE) 
(EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
(EE) 
rtdl: DT_SYMBOLIC is not implemented correctly!
rtdl: DT_SYMBOLIC is not implemented correctly!
rtdl: DT_SYMBOLIC is not implemented correctly!
slim: Stale lockfile found, removing it
mlibc: uselocale() is a no-op
sh: line 1: /usr/bin/xauth: No such file or directory (ENOENT)
Unrecognized option: vt07

Seems like the lock file can't be written/linked and the cron file can't be created (/var/run dir is missing on first run of vm, btw). Then at the end the 'vt07' option is not recognized?? Not sure what that should be instead.

vfs-ext error when writing file and 'ls'ing dir

Due to the X11 version of Gloire not starting (see issue #6), I have logged in to the fallback shell to see how things are working. I thought maybe I would try to add the missing /var/run directory to get past one of the errors in the other issue.

I logged in as root, cd'ed to /var and then tried to mkdir run. This failed with an EINVAL. Then I 'touched' a 'run' file, just to see if I could write to that dir. The 'touch' seemed to work, but when I tried to 'ls' the dir I got this error:

qemu-system-x86_64 -m 5G -drive file=gloire.img,format=raw -serial stdio -M q35 -cpu host -enable-kvm
(0000000002) x86_64-multiboot2 physical map:                                    
(0000000002) 00000000000000500000 + 0000000000007FADF000 MEMORY_FREE            
(0000000002) 0000000000007FFDF000 + 00000000000000021000 MEMORY_RESERVED        
(0000000002) 000000000000B0000000 + 00000000000010000000 MEMORY_RESERVED        
(0000000002) 000000000000FED1C000 + 00000000000000004000 MEMORY_RESERVED        
(0000000002) 000000000000FEFFC000 + 00000000000000004000 MEMORY_RESERVED        
(0000000002) 000000000000FEFFC000 + 00000000000000004000 MEMORY_RESERVED        
(0000000002) 00000000000100000000 + 000000000000C0000000 MEMORY_FREE            
(0000000001) Ironclad 654e6fc                                                   
(0000000001) Please report bugs at https://ironclad.nongnu.org/usersupport.html 
(0000000001) Scrollwheel support enabled for mouse                              
(0000000001) Searching root 123e4567-e89b-12d3-a456-426614174000                
(0000000001) Mounting root sata01p2                                             
(0000000001) Booting init /sbin/gcon                                            
(0000000028)                    --:::-+*.                              
(0000000028)   ....             =%%%%%%:++==..:+#:                     
(0000000028) +*+++++**++=-.      +:%%%%%=+%%%:.-%%.                    
(0000000028) --=+++=-----=**+.   .+:%%%%*-%%%:.-%%                     
(0000000028) -=++++++----#@@=#-   -:=%%%%:%%%-.:%%:                    
(0000000028) ++++++++*@@==%%-+#=   +.%%%#:%%%-.:%%#                    
(0000000028) +++++++--+==*%%**-#   .+*-   *%%=..#%%+                   
(0000000028) +++++++=----====-=%    -:            .-                   
(0000000028) ++++++++=---=+++++%     +                                 
(0000000028) Panic: Ada exception triggered at vfs-ext.adb:1019

Seems like the Inod.Hard_Link_Count is the failure? Hmmm...anyways, I can see there has been some recent work on vfs-ext, so maybe this hasn't been addressed yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.