Pure64 v0.7.0

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
ATXcs1372
Member
Member
Posts: 30
Joined: Wed Jun 01, 2011 7:14 pm

Re: Pure64 v0.4.9

Post by ATXcs1372 »

Has anyone built this using linux?
It seems I can build it just fine, however when making the image file, it doesn't seem to like the "fat16mbr.bin" written to the first 512 bytes.... it just says "Loading...." seeming that it isn't picking up the filesystem to see pure64.sys

Any help/ideas?
User avatar
IanSeyler
Member
Member
Posts: 326
Joined: Mon Jul 28, 2008 9:46 am
Location: Ontario, Canada
Contact:

Re: Pure64 v0.4.9

Post by IanSeyler »

BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
anizzomc
Posts: 3
Joined: Wed Apr 28, 2010 6:51 am

[Pure64 v0.4.9] Fault

Post by anizzomc »

First, your boot loader is amazing. =D> =D> =D>

But I run it very good with my "kernel" with Qemu, but it restarts when I try to test it on a real computer...

I dd the image to a USB stick and it loads the bootloader but when i should load my system, crashes... Any ideas what should I look for? I think is something like a triple fault... I don't see where could be the problem.

The source code is in: http://code.google.com/p/damocles64/ is a proyect for a subjet "Computer Architectures", at ITBA. I'm a "class helper".

Thanks
User avatar
IanSeyler
Member
Member
Posts: 326
Joined: Mon Jul 28, 2008 9:46 am
Location: Ontario, Canada
Contact:

Re: Pure64 v0.4.9

Post by IanSeyler »

Pure64 can only load a kernel off of a hard drive as it does not include a USB driver. However if the kernel is small enough (or you want to load another stage that includes USB support) then you can use the chainloading feature that is available. Take a look at pure64.asm:

Code: Select all

; =============================================================================
; Chainload the kernel attached to the end of the pure64.sys binary
; Windows - copy /b pure64.sys + kernel64.sys
; Unix - cat pure64.sys kernel64.sys > pure64.sys
; Max size of the resulting pure64.sys is 28672 bytes
; Uncomment the following 5 lines if you are chainloading
;	mov rsi, 0x8000+7168	; Memory offset to end of pure64.sys
;	mov rdi, 0x100000	; Destination address at the 1MiB mark
;	mov rcx, 0x800		; For a 16KiB kernel (2048 x 8)
;	rep movsq		; Copy 8 bytes at a time
;	jmp fini		; Print starting message and jump to kernel
; =============================================================================	
You'll also need to comment out this line:

Code: Select all

call hdd_setup			; Gather Hard Drive information
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
anizzomc
Posts: 3
Joined: Wed Apr 28, 2010 6:51 am

Re: Pure64 v0.4.9

Post by anizzomc »

Hmmm, the chain loading didn't work, I just did what you said.

Do you know another way I can do that? Where I can find how to load my kernel from the usb...?

Thankyou!
User avatar
IanSeyler
Member
Member
Posts: 326
Joined: Mon Jul 28, 2008 9:46 am
Location: Ontario, Canada
Contact:

Re: Pure64 v0.5.0

Post by IanSeyler »

Version 0.5.0 is out now.

- IO-APIC is now initialized and configured.
- SMP initialization code has been reworked for better compatibility.
- General cleanup and code reorganization.

Next up is SATA HDD support via an ACHI driver.

-Ian
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
ashishpatel
Posts: 2
Joined: Thu Nov 01, 2012 8:15 am

Re: Pure64 v0.5.0

Post by ashishpatel »

Hi,
I had been searching for pure64 usb support as I had stored the BareMetal OS in USB storage Device.
Please follow up with your view.
Regards,
Ashish
User avatar
IanSeyler
Member
Member
Posts: 326
Joined: Mon Jul 28, 2008 9:46 am
Location: Ontario, Canada
Contact:

Re: Pure64 v0.5.0

Post by IanSeyler »

Pure64 and BareMetal OS do not have a USB Mass Storage Device driver.

It is possible to start Pure64 from a USB drive (since the computer BIOS is still accessible) but as soon as it goes into 64-bit mode you lose that support. A proper USB driver would need to be ported. I have seen a assembly driver for USB on this forum but USB was not much of a priority for the project.

-Ian
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
ashishpatel
Posts: 2
Joined: Thu Nov 01, 2012 8:15 am

Re: Pure64 v0.5.0

Post by ashishpatel »

I understand that USB may not be priority for the project. But students like me it is easier for us to take the OS in USB devices like pen drive , memory card to work over the os anytime anywhere. It increases the portability.
I would be thankful to you if you could consider the requirement. I am not even a good at Assembly language. But the concept & things I have gone through made my interest in the subject. I would love to have a flexible OS & want to have deep study of the USB device support assembly language source code.
Regards,
Ashish
User avatar
IanSeyler
Member
Member
Posts: 326
Joined: Mon Jul 28, 2008 9:46 am
Location: Ontario, Canada
Contact:

Pure64 v0.6.0

Post by IanSeyler »

Pure64 was released today. The major change is that your kernel or software must be attached to the end of the Pure64 binary. In this way any kind of booting is like a network boot (This makes things easier for installs as well as booting from a USB drive).

The source code is on GitHub : https://github.com/ReturnInfinity/Pure64

With version 0.6.0 we pad the Pure64 binary out to 6KiB. The compiled code itself is about 5KiB.
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Post Reply