Dslinux faq

From WiiLi

Jump to: navigation, search

eltacvida

This page is to be deleted, talk about it on the talkpage.


Contents

[edit] Basics

[edit] What is NDS?

It's an acronym for the Nintendo DS. (DS stands for Developers' System or Dual Screen, on account of the additional touch-screen.) The Nintendo DS is a portable handheld game console sold since 2004.

For more info : Nintendo DS
Also See (more technical) : http://www.darkain.com/nintendo_ds/faq.php

[edit] What is DSLinux?

DSLinux is a port of Linux to the Nintendo DS.

[edit] Why port Linux to the DS? What can you do with it?

Because it is possible.

[edit] Is it legal?

Yes. If you're a citizen of USA, note that the DSLinux project respects the DMCA.

[edit] Can I use DSLinux to play ripped games?

No. And please don't ask anything related to ripping games on the forums, mailing lists or IRC. This project is about Linux, nothing else. Thank you.

[edit] Features

[edit] Is DSLinux usable now? With all the DS's features?

DSLinux supports most hardware in the DS at this point, including the touchscreen, sound, wifi and various storage devices, but not the mic.

[edit] Is it possible to run all Linux software?

If it's a text app that runs in console you will probably be able to run it, but for graphical apps, it's improbable.

All programs will have to be recompiled for DSLinux and the DS processor.

[edit] If I use DSLinux, can I still play official games?

You can play official games before and after running DSLinux. You just have to reboot the console.

[edit] Does DSLinux harm my DS in any way?

No. DSLinux makes no changes to your DS.

[edit] Running

[edit] Where is DSLinux stored?

DSLinux is stored on a GBA Flash Cart, Supercard, GBAMP, or an M3. A DSLinux install takes about 5MB of space on the media it is stored on.

  1. On a GBA Flash Cart: A GBA flash cart is a rewritable GBA cartridge. You copy DSLinux onto it using a special program and either a GBA or a flash cart writer, depending on the specific flash cart.
  2. On a Supercard: The Supercard supports CompactFlash or SecureDigital-cards (depends on Supercard version).
  3. On a GBA Movie Player : The GBAMP is a device which can play movies and load executables using CompactFlash Type I cards for storage. A SD-version of the GBAMP has also been released, but is not usable for DS homebrew, and thus not usable for DSLinux.
  4. On a M3: The M3 is the newer version of GBAMP. It has support for DS homebrew, and DSLinux supports it, too.

[edit] Why doesn't DSLinux support reading from or writing to a CF or SD card on my favourite storage device?

Because no driver has been written yet. If you want any of them to work, please consider writing a driver yourself, or donate hardware to a developer.

[edit] Which methods can I use to run Linux on my DS?

Almost any method you can also run any other homebrew with. See here.

[edit] How do I boot DSLinux?

See here.

[edit] What is the difference between a .ds.gba and .nds file?

A .ds.gba file is designed to be written to a GBA flash cart. Some .ds.gba files are .nds files with a loader prepended, which copies the code to RAM to be executed. dslinux.ds.gba is not one of these, the code is executed directly from the flash cart.

A .nds file has several uses:

  1. with an emulator (like iDeaS, dsemu, dualis).
  2. with Wireless Multiboot (WMB).
  3. with GBA Movie Player (GBAMP).

Most .nds files now contain a built in loader, this allows them to be written to a GBA flash cart without prepending a loader. This does not work with all flash cart writing software. It does work on Neoflash, SuperCard and G6flash.

[edit] How do I write the .ds.gba onto my flash cart?

.ds.gba files are written to a GBA flash cart in the same way as GBA homebrew is written. You must turn off any menus, as the menus are written for GBA and will not run on NDS.

Linux users could try flinker: it works with Flash2Advance carts (not ultra). Perhaps using a CompactFlash is a better choice for Linux users.
Flash2Advance page: http://www.gameboy-advance.net/fal_soft/gba_flash_2_advance_linux.htm

[edit] What is the difference between a hacked GBAMP and a 'stock' GBAMP?

The hacked GBAMPs have a new firmware installed by the user. Only the CF version of the GBAMP has been hacked. The SD version of the GBAMP cannot run NDS homebrew at all.

Hacked GBAMP FAQ: http://www.dslinux.org/index.php?showtopic=618
How to do it: http://www.ndshb.com/modules.php?name=Content&pa=showpage&pid=26

[edit] Misc.

[edit] Is there any place I can go to find more information on the DS?

Sure, if you take a look at the bottom of any page on the forum you will see a number of links related to the Nintendo DS and its development. Read especially the pinned topics (the upper of each section).

Also, there are even more links on the post at http://www.dslinux.org/index.php?showtopic=2

Don't forget to use the 'Search' function in the forum before you post! The answer was probably posted before you even thought about it!

The DS's hardware is described in detail on sites like dstek and gbatek.

[edit] Why are all of the methods to run DSLinux called 'SomethingMe'?

The first method was called 'PassMe' by Natrium42. After that, the others developpers have kept the 'XxxMe' style when they found new methods to boot the DS. Don't use the 'XxxMe' for other uses because it is not logically correct and it can confuse new users.

[edit] What programming languages are used to develop DSLinux?

The Linux kernel is written in C and a bit of assembly for hardware-specific code that cannot be expressed in C. Because the DS has an ARM processor, hardware specific code for dslinux is written in ARM assembly. Applications for DSlinux can be written in any language, as long as the language can be compiled for ARM, or, if the language is interpreted, an interpreter has been ported to DSlinux.

[edit] How can I help?

If you are a programmer, check the TODO list for open tasks. Please communicate and contact other developers.

If you don't know how to program, you can still help a lot by contributing to this wiki, by playing around with DSLinux, and by sharing your experiences and tips and tricks with the community and answering questions on the forums.

[edit] Limitations

[edit] Are there any limitations in DSLinux compared to standard Linux?

Yes.

  • The NDS does not have an MMU. This means that DSLinux has no virtual memory, which is a way to make a program think that it owns all the memory in a computer, and also to isolate programs from one another. DSLinux can still run multiple programs at the same time, but all programs live in the same memory address space and are relocated at run time so they don't overlap. This means that any program can access memory anywhere, so it can read arbitrary files, spy your passwords, crash the kernel and do many more nasty evil things. There is no way around this, apart from making sure that the programs included in DSLinux are all well-behaved. The lack of an MMU also prevents paging of memory, which means that DSLinux cannot use memory as efficiently as Linux does on a PC, for example.
  • You may find the little amount of RAM and relatively small size of storage media available somewhat limiting. DSLinux has only 4MB of RAM available on most devices. On some devices that have built-in RAM (such as the SuperCard or the M3), DSLinux can use up to 32MB of RAM.
  • Typing on the touchpad with a stylus does not exactly feel as good as a real keyboard.

[edit] Wait! Can't DSLinux use a swap partition to overcome the RAM limitation?

No. Because the NDS has no MMU, DSLinux has no virtual memory, so it cannot swap at all.

In theory you could still create a system that could use disk space to work around ram limitations. The concept of overlays comes to mind. But that system wouldn't be Linux anymore.

[edit] Isn't MMU-less virtual-memory possible? Can't the MMU be software emulated?

This is not practical. A software-emulated MMU is so slow you would be bored out of your mind when dslinux had just finished booting up.

[edit] Known Problems

[edit] I am getting errors from the /etc/rc.d/network script!

There have been a few people lately that had problems with the script. There have also been a lot of changes made to it lately. Most people that had trouble with it had essids that contained special characters and/or spaces.

[edit] Why can't DSLinux connect to my access point while everything else can?

This problem is quite common - a lot of people have trouble connecting DSLinux to their AP while everything else works fine. Alas, no one has analysed the problem deeply yet, since none of the people reporting the problem were able to do so themselves and were unable to provide enough information needed for someone else to do so. A packet capture of the DS trying to associate would help.

Before starting to capture packets, try without WEP, and open vs. shared authentication. Also, try to set your AP to 2Mbit/s speed. The DS can only do 2Mbit/s, not more. Your AP may fail to detect this and talk to the DS at a higher speed than the DS can listen.

See also this thread on the forums.

If DSLinux is getting the essid from a WFC configuration, make sure your essid only contains letters and numbers, not spaces or any other special characters. If you are specifying the essid manually in /etc/rc.conf instead, you can use special characters (!, for example), but you should escape them with a backslash, like this: \!

Do not ever try to edit the rc.conf file on Windows and copy it to DSLinux. You will get weird ":not found" messages.

[edit] Help, I cannot login because the keyboard does not respond!

This is a common error made by lots of new users. You simply haven't read the documentation. See here.

Personal tools
Online Casino - best online casino reviews.
Facebook Developers - facebook applications, facebook developers, facebook development, social network application development and viral widget social media strategy