Booting XINU From Floppy? 5
NutsAboutOS asks: "I need some help from folks here interested in boot loaders and operating systems. XINU is well designed, compact, very efficient and ideal for learning OS internals operating system that we used in our graduate school. However, currently XINU can only boot from the network using bootp and tftp. I would like to write some application on this OS in my free time, but i don't have a network at home to boot the system from. So I need to boot it from floppy. I request help in writing boot sector for this OS. I spent some time in writing one but it didn't work. This OS can be freely
downloadable from ftp.cs.purdue.edu with anonymous user id from /pub/Xinu directory. I am very familiar with XINU code and can help in providing necessary information for writing a boot loader and a stripped out version of XINU OS code that does not have TCP/IP stack etc. Folks familiar with assembly programming and interested in
giving programming help, please let me know or throw suggestions."
Don't reinvent the wheel (Score:2)
Instead, you should just use GRUB [gnu.org], which probably already does what you need, and is free-as-in-speech to match.
you need more info (Score:1)
you need to tell people a little more does "XINU" use x86 alpha PowerPC SPARC ARM SH or gromit ??
so what functions do you need ?
bootstrap on lots of system or just x86 ?
I have to say work on GRUB
bootp gets IP address do you need to store that can you boot from normal disk ? ie does it load IP/TCP|UDP cfg from a file if not this would be the first port of call
have a look @ GRUB
have fun
regards
john jones
RE:Booting XINU From Floppy? (Score:1)
Actually... (Score:3)
I'm not familiar with bootp and tftp and the like, but if it works simply by passing control over to some other executable, you should be able to just save that executable in raw form as a file and have GRUB boot it via the "chainload" feature. From there, you'll just have to hack whatever code there is that pulls data from the server, to read it from the local disk instead. GRUB's own source should include formative practical examples on this seeing as it includes code to natively read a number of filesystems, and you may have to write drivers for XINU itself to do i/o locally rather than over the network - but you probably already knew that, didn't you?
Sadly, I can't offer any examples or whatnot seeing as I don't know assembler or even any basic OS design fundamentals... but I've gotten GRUB to multiboot over six vary different OSs at once, so I can vouch that if anything is capable of doing this and saving you time, it's GRUB.
Good luck, and be sure to report back on your results.
Re:Don't reinvent the wheel (Score:1)
In order to use an OS, you need to develop another license so that Slashdot fanatics can start a holy war