[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#498568: Debian cannot be installed on bootable SD cards



Hi Frans,

On Thu, Sep 11, 2008 at 02:15:11PM +0200, Frans Pop wrote:
 
> On Thursday 11 September 2008, Harald Welte wrote:
> > The distribution installation initrd needs to
> > 1. include and auto-load the sdhc.ko and sdhci_pci.ko kernel modules
> 
> Including these modules is a trivial change. However, it does not make 
> sense to do so until the installer supports installing to an SD card.

I agree.

> Auto-loading is a non-issue for Debian-Installer. If the kernel/udev 
> supports the device that will just work. (And I know it does work as the 
> module gets loaded fine on my laptop.)

good.

> > 2. create the /dev/mmcblk* device nodes as per udev/hotplug events
> 
> Not an issue. Should just work.

good.  I was not aware how much of the 'regular linux system' udev/hotplug
magic you have in the installer initrd.

> > The actual distribution installation program needs to
> > 1. recognize /dev/mmcblk* as block devices that can be used as
> >    target device
> 
> This is the main issue. As Debian Installer uses libparted for 
> partitioning the real question is whether or not libparted supports these 
> devices. If that is true then very minor adjustments in partman should 
> suffice to support partitioning them.

I quickly browsed/grepped through the source code of libparted, and I didn't
see anything regarding device names.  It just opens whatever block device
was specified and works with it.

If I use the 'parted' program on my debian unstable system here with a SDHCI
compliant card reader + 2GB SD card, I get:

====
prithivi:~# parted /dev/mmcblk0
GNU Parted 1.8.8
Using /dev/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: Unknown (unknown)
Disk /dev/mmcblk0: 2013MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End     Size    Type     File system  Flags
 1      131kB  2013MB  2013MB  primary  fat16             
====

So it just works fine.


> > 2. use a grub-install or similar program that can discover the bios
> > drive number to /dev/mmcblk* device name mapping 
> 
> This is essentially outside the scope of the installer itself. Once grub 
> (or grub2) supports the devices the installer should need at most minor 
> changes in its grub-installer component. Grub support is thus a 
> pre-requirement for adding support in the installer.

grub itself (the actual bootloader) has no problem.
grub2 supports /dev/mmcblk* out of the box

However, the old grub1 needs a one-line fix to the grub-install shellscript.  I
have sent a trivial patch to the grub developers, but they rejected it since
grub1 is no longer maintained.

So if Debian (or any other distribution) keeps shipping grub1, they would have
to add the small patch from http://savannah.gnu.org/bugs/download.php?file_id=16416

> Main thing to get support in Debian Installer is to find someone who has 
> both the hardware and the motivation to work on this. As said before, the 
> actual changes in D-I itself should be trivial.

I can help with actual testing on the hardware.  Right now VIA has too few
development boards internally to send them out to developers, sorry.

However, I have read that the eeePC or at least some of its models support
SD-boot, too.  If that is the case, there should be plenty people out there
with access to the hardware.

Also, to add the support for installing on SD card, you don't actually need
a bios that can boot it.  As long as you can partition, format and install the
dpkg's on the SD card, and you can put grub onto the card, everything should be
fine.

> If someone were to sponsor or loan me an SD card, I'd be happy to check if 
> libparted supports it and, if it does, do the needed partman changes.

the actual SD card is certainly not a problem. 2GB cards are around 5 EUR these
days (at least here in Taiwan), so less than the actual shipping cost.  I'm
happy to do a wire transfer to any account on the EU to enable you to buy a
card :)

-- 
- Harald Welte <HaraldWelte@viatech.com>	    http://linux.via.com.tw/
============================================================================
VIA Open Source Liaison



Reply to: