Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Boot from SD-Card with syslinux

Status
Not open for further replies.

flubbard

Technical User
Jun 11, 2003
148
US
All,

I have recently been playing with the Aspire One netbook. The base configuration is a 160GB Internal Harddrive with Windows XP pre-installed.

Because some models come only with a much smaller solid state hard drive, there are two SDHC readers on the machine. The bios does not allow for booting directly from the SD card, though does allow for the normal booting from USB.

I would like to boot Linux from the SD card. The approach that I am thinking of is as follows:
Run boot loader (either from USB drive or internal HD)
Load modules for reading the SD card into ram
Finish boot off SD Card

I've tried to get grub loaded on a USB stick and think I have that working, and then put the UUID in as the source for the memory card, but it Grub returns a "File Not Found" error when I try to boot.

I don't want to lose the Windows XP installation. The USB drives I've been playing with, mostly based off an eeebuntu live cd, boot with syslinux. I don't really want to install linux on the internal harddrive (one reason for doing this is so that I can operate the computer most of the time entirely off the SD card, saving the batter power involved in spinning up the internal HD)

Any thoughts would be appreciated.

- flub
 
I've been working with unetbootin to make the bootable usb drives and it uses syslinux as the bootloader. The problem is that the Aspire One netbook BIOS is not able to boot directly from the SD card slot. I'm looking for how to modify the syslinux boot procedure on the USB pen drive to boot from the SD card.

- flub
 
I have the linux only Aspire One so at least I know the hardware
as I understand it a live linux system uses an image file that holds the linux install

this will need to be loaded before the sd card reader can be accesed

if you can edit /etc/fstab on this live boot then you could add a mount point for your sd card there, on mine i have fedora 10 on the internal flash with my home directory located on the sd card.

Personaly I would recommend you install linux on the hard disk, any modern distro will enable you to dual boot to windows if required.

Personaly I would recomend the Fedora 10 xfce respin on this hardware

Everything necesary works from a default install although a few tweeks are usefull check for a fairly comprehensive guide.

The factory supplied linux on these system is Linpus lite which is a Fedora 8 spin off

the section on converting form EXT3 to Ext2 can be ignored if you have the hard disk version.

The Madwifi wirless drivers are definetly beter than the kernal Atheros drivers.
 
IPGuru - Thanks for the input. I've normally used Fedora and find it works well. I'm playing with eeebuntu for a few reasons, mostly to help a relative that is just starting into Linux and has chosen Ubuntu (at the recommendation of his son).

Getting Linux onto the computer in the first place would not be too hard (as you mentioned, easiest would be to put it on the harddrive). What I'm looking to do is increase the battery life a little by not having to spin the harddrive. Also, I may wind up with a couple of these machines and I would like to move between them as necessary by moving the SD card.

I can get Linux running in a persistent mode from the USB stick, the issue that I have though is that the USB stick is rather vulnerable in the side of the computer, especially with one this small. If I could instead run off the SD card, which is almost entirely hidden within the dimensions of the netbook case, I would feel more comfortable. I'm thinking that the solution will eventually involve either placing a USB key in to jump start the boot process, or isntalling grub on the netbook. I have not had success yet though.

Any thoughts would be appreciated.

- flub
 
I doubt you would save much power because the hard drive would be powered any way

with care you might be able to install linux with just /boot mounted on the hard disk & then everything else mounted on the home directory.
you would probably need everything on the hard disk initialy then move it accross & create a new initrd for the grub boot loader
I am now at the limits of my linux knowledge & could not advise on the exact steps to achieve this.

Unbutu/fedora I am pretty distro Agnostic under the skin they are all just Linux (I set a root password on ubunto boxes & configure sudo on fedora ones so I can use either option depending on what I am trying to do).
 
IPGuru

Do you think that I could do a similar thing from a USB Drive (keep the boot directory on there and run everything else of the SD Card)?

- flub
 
I wanted to update you, and anyone else that may be trying this that I was able to make it work.

Goal: Boot from the Storage Expansion SDHC drive on the Aspire One without modifying the contents of the internal harddrive. Acer One is a netbook without the ability in BIOS to boot from the SD card and without an internal optical drive.

This is how I was able to do it (probably not the most efficient route)

Create an eeebuntu live USB using unetbootin (download the live cd iso from the web). (First USB Pen Drive)

FYI, in the interim, I used the live CD to create a USB Boot drive which in effect gave me a pen drive that acted like an eeebuntu install CD. This step would not really be necessary, but is a handy technique when dealing with a netbook without an optical drive.

Place the SDHC card into a USB memory card reader.

Use the live pen drive to install eeebuntu to the SD card through the memory card reader. Next you should be able to boot from the SDHC card through the memory card reader.

Determine the UUID assigned to the memory card in the instance of eeebuntu. Record this number someplace.

Modify the initrd file to include the modules for accessing the internal SD reader (within the memory card install)

Modify the menu.lst file in grub to direct grub to use the UUID of the memory card.

Partition, format, and install grub on a USB key (does not need to be very large). Copy over the initrd, vmlinuz, and menu.lst file onto the usb key.

You should now be able to put the memory card back into the internal reader and boot to it by using the USB key to jump-start the process. Once the machine is booted, you can unmount and remove the USB key so that nothing is hanging out of the computer.

There is a very helpful thread on the subject at:

- flub
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top