Linux distro just for DC deving?

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
tom61
DCEmu Freak
DCEmu Freak
Posts: 69
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Wed Oct 17, 2001 7:44 pm
Has thanked: 0
Been thanked: 0

Linux distro just for DC deving?

Post by tom61 »

Could someone please make a Linux distro just for DC deving with all the cross-compilers and libraries setup already?

Even better yet, make it to where it boots from CD (mounting Windows partitions for saving of course).

This would help people like me who want to dev, but don't want to spend the time setting everything up under Cygwin or moving partitions around for Linux then building cross-compiliers, etc.
atf487
DCEmu's Ranter
DCEmu's Ranter
Posts: 2529
Joined: Sun Feb 17, 2002 2:54 pm
Has thanked: 0
Been thanked: 0

Post by atf487 »

Well, im guessing that there isn't one, but someone could try making a sh4 emulator for linux, that was exactly like linux, only with default compiling for sh4. I don't have linux anymore, so I can't help ya there. And im 12, so that doesn't really make this help that valid anyway.
NiGHTSFTP
Mental DCEmu
Mental DCEmu
Posts: 491
Joined: Tue Nov 20, 2001 7:35 pm
Has thanked: 0
Been thanked: 0

Post by NiGHTSFTP »

Now that aint a bad idea.
Signatures images may be no greater than cock pixels high by dick pixels wide in dimension and balls kilobytes in filesize. Multiple images may be wang, but in total they may not exceed the johnson specifications.
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

Sorry to bump a 2-year old topic, but I was doing a search looking at the feasability of this very idea.

Specifically, I was thinking about starting with FeatherLinux or some other Knoppix remaster which is already reasonably small, stripping out all the stuff we don't need like media players and stuff, replacing the window manager with IceWM (just because I happen to like it, and after a quick perusal of some online docs it looks fairly easy to make themes that Windows/Mac users will find familiar) and adding the tools for DC development. The other idea I had was to not specifically include the SH4/ARM toolchain or KOS, but include a build script, so the user would get the newest KOS, and they could boot from CD or a USB device (or a boot floppy and have Linux on a Zip drive or whatever - I've currently got FeatherLinux running on a Zip250 drive if I boot from a floppy, so that much will certainly work), and then their development tools would be at /dev/sda1/wherever if they want to save on a Zip disc or whatever, or they might be at /dev/hda1/dcdevtools/wherever if they want to save on a (non-NTFS) hard drive partition, which might have Windows or whatever. I thought this might be easier than using Cygwin, since I've seen people having trouble with knowing what exactly to download in order to get everything set up, and such a setup takes up a lot of space on your hard drive. Using a compressed filesystem like Knoppix uses will save on disc space, plus we don't need all that much to get a development environment set up - just a basic system with compilers and whatnot. I also like the idea of having your own Devkit that you can carry around in your pocket, so it's available to you wherever you are even if you don't have your own PC with you.

... So, can anyone comment on the feasability of such a project? I'm thinking it might be a good learning experience setting it up if it's likely to work.
User avatar
greay
DCEmu Ultra Poster
DCEmu Ultra Poster
Posts: 1938
Joined: Wed Jan 21, 2004 10:59 am
Location: 24 hours from Tulsa
Has thanked: 0
Been thanked: 0
Contact:

Post by greay »

OneThirty8 wrote:The other idea I had was to not specifically include the SH4/ARM toolchain or KOS, but include a build script,

... So, can anyone comment on the feasability of such a project? I'm thinking it might be a good learning experience setting it up if it's likely to work.
Feasibility? Entirely. This is what linux is for. This is why there are different distros.

It's definitely a good idea, but I would suggest having the option to either use a pre-built toolchain/KOS or use a build script to build the latest version. 'cause honestly the build script idea wd require setting up the comp with an internet connection, which is a bit of extra work that goes against your idea of having a "devkit in your pocket"

oh, come to think of it... The build-script for the toolchain isn't a good idea at all. I'm using gcc 3.3.2 & newlib 1.9.0 and, well... The buildscript I tried didn't work. Because the build process for gcc (I think newlib was fine) changed, and the script was expecting an earlier version.
I'm a lone wolf looking for trouble.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

It certainly isn't a bad idea.

The bare minimum would be a system that boots, and has the appropriate compilers on there. If you're going to do that, you may as well provide a pre-built Cygwin or MinGW system.

I'd say we would definitely need native compilers (at the very least, KOS requires them), X11, a decent WM, a web browser (probably Firefox), a PPP dialler for modem connections, PPPoE/PPPoA setup program for ADSL modems, and probably an IDE. Otherwise, it's not going to be any easier to use than a raw Cygwin on MinGW setup.

For Windows 95 and 98, it'd be pretty easy to run from a hard drive - just add a shortcut on the desktop that exits to DOS mode, and starts Linux using loadlin. Windows ME would require a boot disk. It is possible to get Windows 2000 or XP to boot a Linux system, but I've never tried it with a filesystem image instead of a Linux partition. A bootdisk would still work fine in that case.

After it's running, we could use the Captive NTFS driver to get read/write access to an NTFS filesystem. It works by loading the NTFS driver from a Windows XP system, and running it inside a simulated WinNT kernel as a user program. It then uses LUFS (a filesystem driver that lets you run filesystem drivers from user programs) to mount the NTFS drive as a normal filesystem.

Might be interesting. I was mucking around earlier with getting a basic Slackware installation booting from a USB stick. When I say "basic", I really mean it - I had about half the packages from the a series installed, I was using my own init script (not using init at all, actually), which detected PCI and USB hardware, set up a simple fstab (mostly for removable storage, not the hard drives), created mount points, and attempted to get the network up. It came to 50MB uncompressed...
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

The reason for the buildscript was just to keep the size of the download down, but you raise a good point.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

My toolchains are 21MB for sh-elf, and 11MB for arm-elf. I've not tried to strip either of them down much as I could. There are still a lot of libraries and other things that aren't used (like GCC's stdlibc++, which doesn't work in KOS anyway, and a load of GCC things that aren't used anywhere either), so both could probably be cut down a lot. Compressed (as a gzipped tar) they come to 13MB now, and could be much smaller.

KOS is another matter. A full precompiled KOS 1.2.0 takes up 114MB on my system, but that's with all the source code, temporary files, and all that stuff still included. Just the required files would probably around 3MB compressed (that's how big the precompiled KOS on my site is, but again that could be smaller).

Toolchain: 16MB
Source code: 30MB?
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

BlackAura wrote:It certainly isn't a bad idea.

The bare minimum would be a system that boots, and has the appropriate compilers on there. If you're going to do that, you may as well provide a pre-built Cygwin or MinGW system.

I'd say we would definitely need native compilers (at the very least, KOS requires them), X11, a decent WM, a web browser (probably Firefox), a PPP dialler for modem connections, PPPoE/PPPoA setup program for ADSL modems, and probably an IDE. Otherwise, it's not going to be any easier to use than a raw Cygwin on MinGW setup.

For Windows 95 and 98, it'd be pretty easy to run from a hard drive - just add a shortcut on the desktop that exits to DOS mode, and starts Linux using loadlin. Windows ME would require a boot disk. It is possible to get Windows 2000 or XP to boot a Linux system, but I've never tried it with a filesystem image instead of a Linux partition. A bootdisk would still work fine in that case.

After it's running, we could use the Captive NTFS driver to get read/write access to an NTFS filesystem. It works by loading the NTFS driver from a Windows XP system, and running it inside a simulated WinNT kernel as a user program. It then uses LUFS (a filesystem driver that lets you run filesystem drivers from user programs) to mount the NTFS drive as a normal filesystem.

Might be interesting. I was mucking around earlier with getting a basic Slackware installation booting from a USB stick. When I say "basic", I really mean it - I had about half the packages from the a series installed, I was using my own init script (not using init at all, actually), which detected PCI and USB hardware, set up a simple fstab (mostly for removable storage, not the hard drives), created mount points, and attempted to get the network up. It came to 50MB uncompressed...
I definitely want more than something that boots - X11 is a must, as is a decent Window manager. I'm not sure what IDE to include, but FeatherLinux already has Dillo and Firefox so there's already a web browser. It's also got some PPP tools.

I wasn't aware that you could write to an NTFS partition from Linux. Well, I knew you could do it, but everything I've read included the line 'try it on some unimportant data first,' so I thought it was experimental.

Anyway, it's good to know others think this is a good idea.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

Well, I knew you could do it, but everything I've read included the line 'try it on some unimportant data first,' so I thought it was experimental.
It is - that's talking about the native NTFS drivers included in the 2.4 kernel. They could write to drives formatted with the WinNT 4 version of NTFS, but had a tendancy to screw the drive up. In order to get Windows to even read the drive, you needed to run a repair program on it.

The drivers in the 2.6 kernel are safe, but only support overwriting files. You can't modify the filesystem (so no adding, moving, renaming, modifying the size of files), but you can modify the contents of the files, as long as you don't change the size of the file. So you can use swapfiles or loopback filesystem images easily enough.

The Captive NTFS driver is just as safe as the one in Windows XP, because it is the one from Windows XP. It requires a copy on WinXP on the system to work, because it needs to copy the NTFS driver, but it's not likely that you'll have an NTFS drive without Windows on it somewhere.

I'll have to take a look at FeatherLinux. Something like the way Morphix works might be good too - you have the base system, and everything else is implemented as modules. The modules are merged with the base filesystem at bootup. For example, you could have GCC 3.0.4 as one module, and KOS 1.2.0 as another. Then if someone wanted to use GCC 3.4 and KOS 1.3.x instead, they could pull the GCC 3.0 and KOS 1.2 modules out, and replace them easily, without needed to remaster the whole system.
PrOfUnD Darkness
DCEmu Freak
DCEmu Freak
Posts: 71
Joined: Thu Feb 20, 2003 11:46 am
Has thanked: 1 time
Been thanked: 0
Contact:

Post by PrOfUnD Darkness »

Very funny, I was just thinking on this some days ago. My dev PC is a Linux box, and I was thinking in building a setup like that. I even started to build a knoppix clone...
But I forgot it because I thought no one would care...

If there's enough interest I could re-start the project, what do you think?
mogorman
Insane DCEmu
Insane DCEmu
Posts: 127
Joined: Sat May 31, 2003 8:20 pm
Location: That place, down the street
Has thanked: 0
Been thanked: 0
Contact:

Post by mogorman »

it would be real easy to make a knoppix clone with this stuff. if someone gave me the build scripts or just the most recent versions of kos, and gcc compatible with dreamcast, I could have this thing going in a week. I would be happy to do so to, I just fried my dev environment and would be happy to do so.
-------------------------------------------------
some say the glass is half full
some say the glass is half empty
I say thank god they gave me a glass
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

mogorman wrote:it would be real easy to make a knoppix clone with this stuff. if someone gave me the build scripts or just the most recent versions of kos, and gcc compatible with dreamcast, I could have this thing going in a week. I would be happy to do so to, I just fried my dev environment and would be happy to do so.
I personally wouldn't start with Knoppix. I'd start with the Lite version of Morphix, FeatherLinux, or DamnSmall Linux because those are already smaller, and it will be less work to strip out all the extra stuff we don't need. Basically, I think all we need is your base system, plus X11 and a decent Window Manager (fluxbox will do, IceWM or something might be better since you can make it look like Windows/OSX so noobs will have an easier time adapting to Linux), plus internet capabilities, and of course the needed compilers and whatnot.

@BlackAura, I haven't looked too much at Morphix - My Dad gave me his Morphix CD's because he didn't like them as well as the Knoppix CD I burned for him, but the way FeatherLinux works sounds similar to how you described Morphix. There's some stuff that's there, some stuff that's 'there' but needs to be installed, and some stuff that's not there but can be downloaded and installed from a simple menu in fluxbox. It uses Debian packages as far as I can tell, so it should be easy enough to make Debian packages for, let's say GCC, a precompile KOS 1.2.0 with SDL fixed (the joystick stuff primarily), and a recent snapshot of KOS 1.3.0 precompiled.

On FeatherLinux, when you've installed whatever you want installed, you just save your configuration to a USB drive/hard drive before you quit, and when you boot up next time you just tell it to restore your configuration and everything is how you left it.
mogorman
Insane DCEmu
Insane DCEmu
Posts: 127
Joined: Sat May 31, 2003 8:20 pm
Location: That place, down the street
Has thanked: 0
Been thanked: 0
Contact:

Post by mogorman »

okay, I agree with you so I think the easiest way to do this is make a morphix module, and I am happy and have learned how, but what are all the current files for building the tool chain. thanks matt
-------------------------------------------------
some say the glass is half full
some say the glass is half empty
I say thank god they gave me a glass
ETR
Dumb
Posts: 1998
Joined: Mon Dec 08, 2003 8:36 pm
Location: Because My Heart is in O-H-I-OOOO
Has thanked: 0
Been thanked: 0
Contact:

Post by ETR »

Perhaps this type of thing would also be good to add. http://www.dcemulation.org/phpBB/viewtopic.php?t=46182


Just the server part, I mean.
Image
Smiley wrote:I was bored and like to hear myself talk, that's all....
mogorman
Insane DCEmu
Insane DCEmu
Posts: 127
Joined: Sat May 31, 2003 8:20 pm
Location: That place, down the street
Has thanked: 0
Been thanked: 0
Contact:

Post by mogorman »

hmm i wouldnt know how to do that. but I could take a crack at it, but what are the most recent tools dc suports and any other things people would want in a dreamcast morphix module that wouldnt be in another one.
-------------------------------------------------
some say the glass is half full
some say the glass is half empty
I say thank god they gave me a glass
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

@mogorman
For DC, I'd imagine you could just take one of the build scripts that'll download the desired versions of GCC, binutils, newlib, and KOS. BlackAura's build script uses GCC 3.0.4, binutils 2.11.2, newlib 1.10.0, and KOS 1.2.0. Might want to also include a recent snapshot of KOS 1.3.X.

For remastering KNOPPIX, this page at knoppix.net contains a lot of useful information.

@FLCL|ETR, I'm not sure a server is really needed, but if enough people are interested then it's a possibility. Depending on what we start with, there's probably something already there that will work fine.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

For DC, I'd imagine you could just take one of the build scripts that'll download the desired versions of GCC, binutils, newlib, and KOS. BlackAura's build script uses GCC 3.0.4, binutils 2.11.2, newlib 1.10.0, and KOS 1.2.0. Might want to also include a recent snapshot of KOS 1.3.X.
When I've finished cleaning my toolchain up a bit, I'll just upload it somewhere. It was compiled without newlib (it only needs the headers anyway), and it's been trimmed down a lot. It all still works, and it's more than enough to compile KOS (any recent version) from source.

The main thing that needs shrinking is KOS. I have KOS 1.2.0 (although I should upgrade that to a more recent SVN version of the 1.2.x tree - there are a few important changes in there), and KOS 1.3.x 133/incr around here at the moment, and they both work just fine.
spiroth10
Mental DCEmu
Mental DCEmu
Posts: 304
Joined: Mon Sep 01, 2003 4:57 pm
Has thanked: 0
Been thanked: 0

Post by spiroth10 »

it'd be a good idea, if you plan to do something like this, to add KOS, already precompiled, into a tarball to reduce size... or add an RPM manager to the linux distro and make an RPM (which seem to have really good compression abilities) or some other archive. 7zip make really small archives, but almost no archive utilities support it for any OS... just a suggestion to bring down the size a little... you could also just put the source in the distro and give step-by-step instructions on building it. Hey, there's already a linux distro for PS2 devving (black rhino) this should be no problem if you know what your doing. Also, if your gonna try, you should remove all the games/heavy programs/etc. that arent necessary, and just make a pure devbox. just some suggestions.
Image
mogorman
Insane DCEmu
Insane DCEmu
Posts: 127
Joined: Sat May 31, 2003 8:20 pm
Location: That place, down the street
Has thanked: 0
Been thanked: 0
Contact:

Post by mogorman »

so i have built tool chain. I have kos 1.2.0 installed, and I have scramble, and dc-load installed in a morphix module im making what else do people want/ need in linux dreamcast developer environment.
-------------------------------------------------
some say the glass is half full
some say the glass is half empty
I say thank god they gave me a glass
Post Reply