[ Gismo: don't know if you have seen this, CCing you because you were also interested on working on this.
debian-boot: Thibaut showed interest on the pkg-fso-maint list to work on d-i for the Neo Freerunner as a Google Summer of Code project. Your input would be welcome as well. ] Hi Thibaut On Sat, Mar 20, 2010 at 09:17:18AM +0100, Thibaut GIRKA wrote: > Although I don't know much about d-i yet, I use Debian daily on several > machines, and I am maintaining a Debian package: bluemindo. > By the way, I've built custom Debian CD images and PXE boot images using > live-helper, and knows what an initial ram disk or a kernel is. > I also have skills in C and Python, and I have some experience in > contributing to FLOSS projects. Fine. Knowledge of C might help in some parts, but most of the installer is written in Shell. Because d-i runs in a fairly constraind environment there is no Perl or Python available. > > Regarding the FreeRunner, I've got one since the beginning of the year, > and I use it as my sole phone. > I have flashed SHR unstable on the NAND, and I've manually (reading the > so-called install.sh script) installed Debian on a µSD card, although I rarely > use it. For porting d-i to it it would be good if we could get you a second freerunner or if you have another phone you could use during this time... Calls won't work during installation ;-) And you probably will do many installations... > > I haven't tried d-i on the FreeRunner yet, but I think the main > issues/things to do would be: > * Starting d-i. I can see two ways of doing it: > - Putting it on a µSD card, maybe not the easiest thing if there's > already something on it. > - Using kexec on a host system to run d-i without altering the > partition table beforehand. I and Luca Capello (gismo) worked on d-i for the freerunner at Debconf 9. We decided back then that whatever method we choose it should be supported by the factory default settings of the u-boot on the freerunner. This means that you have to combine the kernel and initramfs into one u-boot image. This is possible but a bit tricky to get right. > * Using the kernel from pkg-fso This won't work. Period. If you want to integrate your work into the official d-i you have to use a kernel built from the linux-2.6 package in the main archive. So first all the bits to support the freerunner so that it can run d-i must go into Linus kernel tree. As the kernel team most probably won't accept any patches not accepted upstream. We basically need glamo mmc support in addition to basic boot support for the freerunner to be able to support d-i. The glamo mmc support is needed to access the SD card because the SD card is connected to the glamo. Then we need a kernel configuration for the s3c24xx architecture and a patch to enable an image for this architecture for linux-2.6. The kernel configuration should be as similar as possible to the configurations of the other kernel images (especially the other arm images). This is where I stopped by the end of last year because of lack of time. If you want to continue this work I can provide you with a partially working patch for linux-2.6. > * Hacking g-i to work with the touchscreen and > provide an on-screen keyboard. Gismo and I were rahter targetting the network-console mode of d-i that is used on headless NAS devices. The idea was that d-i would setup the usb network and you could connect to it by sshing over this usb network. I think that would be far easier. I will need networking anyway to download packages and wifi is not an option for the installer because the support for connecting to encrypted networks in d-i is minimal AFAIK and ar6000 won't most probably go upstream ever and therefore not be included in the Debian kernel. > As far as I know, directfb is being dropped in favor of X11, so, it > shouldn't be that much of an issue. > * Including all those things in a fairly lightweight initrd. It depends on your definition of lightweight. I would call all the d-i initramfs (it's technically not an initrd anymore) fairly heavyweight. I expect the core d-i part of all of this to be small and not very difficult. AFAIR we had it already running until the bootloader step at Debconf with a custom version of the pkg-fso kernel. The hard parts are: - Create a kernel package for the freerunner based on the linux-2.6 package in main - Figure out the best layout for booting Debian in parallel to another distribution in NAND and configure u-boot to do the right thing and warp all this into an udeb for the d-i. - Post installation stuff like creating a fso/freerunner task which gets automatically installed if a freerunner is detected. I would be willing to be your mentor if your commited to properly integrate your work into the existing Debian infrastructure (like useing a kernel based on linux-2.6, make your modifications so that they are acceptable to the d-i team). My d-i knowledge is a bit rusty, but I think I know the basic things and could point you in the right direction if you have any questions. I'm glad to see someone taking up this work, because I fear I won't have time to do any serious work on this until next Debconf. Gaudenz
signature.asc
Description: Digital signature