Page 4 of 4
Re: Pure64 v0.4.9
Posted: Wed Jun 01, 2011 7:18 pm
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?
Re: Pure64 v0.4.9
Posted: Mon Jun 06, 2011 1:44 pm
by IanSeyler
[Pure64 v0.4.9] Fault
Posted: Wed Sep 07, 2011 8:56 pm
by anizzomc
First, your boot loader is amazing.
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
Re: Pure64 v0.4.9
Posted: Fri Sep 09, 2011 9:17 am
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
Re: Pure64 v0.4.9
Posted: Thu Oct 06, 2011 4:23 pm
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!
Re: Pure64 v0.5.0
Posted: Sat Feb 04, 2012 7:04 pm
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
Re: Pure64 v0.5.0
Posted: Thu Nov 01, 2012 8:17 am
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
Re: Pure64 v0.5.0
Posted: Thu Nov 01, 2012 8:57 am
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
Re: Pure64 v0.5.0
Posted: Thu Nov 01, 2012 9:51 am
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
Pure64 v0.6.0
Posted: Thu Mar 21, 2013 1:59 pm
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.