You are not logged in.
Pages: 1 2
Breeezy, a 65-MB decompress-and-use Puppy Linux system for the eee is recently announced here:
http://forum.eeeuser.com/viewtopic.php?pid=65855#p65855
While it is supposed to be easy to install (just decompress and use), preparing the SD card for booting makes its initial use unusually difficult. Alternative ways to prepare the SD card for booting have been discussed here and there, and also in the Breeezy website, but the pattern suggests that you need use a Linux distro for making the SD card bootable in the eee.
In this regard, a system for automating the bootable-SD creation under Xandros in the eee would help a lot.
Edit: After the update for microphone, breeezy's size is 65 MB (up from 63 MB).
Last edited by raffy (2008-01-21 6:31:47 am)
Offline
I agree... the whole Linux installation world is very built around ISOs and live CDs, even though I believe that USB is now the dominant mechanism (particularly in the Eee's case!).
Assuming that you're willing to lose all data on the target SD card (which reduces partition-related complexity quite a lot), it would be pretty easy to write a script that could take a given distribution (you'd have to know what kind of file you were getting) and convert it into a bootable USB or SD.
What probably makes more sense for Eee-specific distributions is for someone to take the distribution, write it to a removable drive and make it bootable (in as small a partition as possible, so that (1) it will fit on more devices as you can write a smaller partition to a larger disk but not vice versa and (2) you might be able to use gparted to recover the rest of the disk. Then, one could easily dd an image, and upload a breeezy.img.gz file or somesuch that could be directly written to SD and immediately bootable.
I think only one or two distros provide bootable USB images right now... I think Fedora Core is one.
I'd be willing to help the Breeezy project out by making the disk image if someone would commit to getting it from me and hosting it (I will not).
Offline
Thanks for the suggestion, Mohan. I can try making that image available over the weekend (as the eee becomes available to me during that time only). I will try to create a 64-MB partition for breeezy and then create an image. I should then test if it's possible to install it to a larger SD card (with additional partitions, whether pre-existing or created after installation). Testing and any clue in this regard is welcome.
Has anyone already tried to install a distro the way Mohan described it?
Offline
I've made a bootable flash installer disc this way (i.e. it boots up to a linux installer and then installs). I think the only complexity is going to be figuring out how / where to stop dd, assuming you don't have a 64MB USB drive on hand, so that you don't end up with a 2GB image or something like that. I think this should definitely work:
Take a USB and partition it so it has only one active partition, that's just big enough for your image (60 MB or whatever you need).
Use fdisk to make sure you know how many blocks are in that partition, and use count to add up extra blocks past that, for a few megabytes (e.g. to make 60 into a clean 64). If this number turns out to be xxx (the number of blocks in your image, plus some extras), then I think you can use
dd if=/dev/sdb of=breeezy.img count=xxx
To accomplish this. You should be able to write that file to any kind of USB or SD and have it immediately bootable.
Offline
I must have been lucky as I did not have any problem using a usb stick for breezy
I installed breezy on a 1gb sandisk stick that was originally u3.
I d/led the program to remove u3 comletely off of the stick and then used hpusbfe.exe to format the drive for fat 16.
I then extracted and copied breezy to the stick. I then hit escape and selected the usb stick for boot.
Breezy came up just fine and was on my wpa network in about 5 minutes. This is a good alternative when I am on public hotspots.
So is the main issue with sd cards?
mike
Last edited by ID (2008-01-01 9:46:08 pm)
Offline
It is about using Xandros for the job (whether USB or SD flash). What you did was use Windows and the HP utility, to quote: "..used hpusbfe.exe to format the drive for fat 16.." I guess you're among the lucky ones. ![]()
Offline
mkrishnan wrote:
I've made a bootable flash installer disc this way (i.e. it boots up to a linux installer and then installs). I think the only complexity is going to be figuring out how / where to stop dd, assuming you don't have a 64MB USB drive on hand, so that you don't end up with a 2GB image or something like that. I think this should definitely work:
Take a USB and partition it so it has only one active partition, that's just big enough for your image (60 MB or whatever you need).
Use fdisk to make sure you know how many blocks are in that partition, and use count to add up extra blocks past that, for a few megabytes (e.g. to make 60 into a clean 64). If this number turns out to be xxx (the number of blocks in your image, plus some extras), then I think you can use
dd if=/dev/sdb of=breeezy.img count=xxx
To accomplish this. You should be able to write that file to any kind of USB or SD and have it immediately bootable.
Using dd this way is dangerous. You will dd only the data that is at the beginning of the disk, so if for whatever reason some of the data of the file lives further away on the disk you won't copy it into your image file.
Also using dd this way will require that the user has a partition of the same size (e.g. 2GB), as there is size info in the boot and super block.
Better use a loop device. That way you can turn a file into a filesystem. or make a dedicated 64 MB partition...
Offline
eFfeM wrote:
Using dd this way is dangerous. You will dd only the data that is at the beginning of the disk, so if for whatever reason some of the data of the file lives further away on the disk you won't copy it into your image file.
Also using dd this way will require that the user has a partition of the same size (e.g. 2GB), as there is size info in the boot and super block.
Better use a loop device. That way you can turn a file into a filesystem. or make a dedicated 64 MB partition...
I would think it'd be fine as long as your dd is larger than the partition, the partition was positioned at the beginning of the disk (partitions are not distributed, AFAIK), and you're content with the partition being the only one you'll see on the new disk.
Like you're saying, though, I was assuming you'd make a dedicated partition in the process, yeah.
But how do you use a loop device to do it? I'm still learning about loop, as I don't believe it's used in OS X (with which I was more experienced).
Offline
Raffy,
Breeezy is great! many thanks. I've wanted a light, fast Linux distro and now I've got it. I dual boot with XP.
On one of the threads you asked for wish lists, I believe. Here's mine (I've done a lot of reading and searching, and do not find clear ways to do these things, for a noob):
-autostart Firefox on boot up
-program the Logitech Nano VX buttons (the wiki deals with this for the default OS, but I searched and didn't find the requisite files for Puppy/Breeezy)
-Cisco vpn client
I realize there may not be a lot of demand for the second two of these, but as long as I'm wishing...
Many thanks, and congrats again for making it pretty easy to do this!
Offline
Yes, the second wish will take time, and I would still have to look into the third. But the first one is easy, just look for /root/.xinitrc (.xinitrc is inside the folder opened by the home shortcut, and you click on the eye icon to display hidden files). Right-click on the file to "Open as text". Add this line just before the last part (this will be how it would look):
defaultbrowser & # just copy and paste this whole line #exec $CURRENTWM <-- this is the line you will see before pasting to the file
You must be using a save file for this change to be used in the next bootup.
Hope that helps.
Offline
raffy wrote:
Yes, the second wish will take time, and I would still have to look into the third. But the first one is easy, just look for /root/.xinitrc (.xinitrc is inside the folder opened by the home shortcut, and you click on the eye icon to display hidden files). Right-click on the file to "Open as text". Add this line just before the last part (this will be how it would look):
Code:
defaultbrowser & # just copy and paste this whole line #exec $CURRENTWM <-- this is the line you will see before pasting to the fileYou must be using a save file for this change to be used in the next bootup.
Hope that helps.
Thanks for your prompt and helpful response, Raffy.
Couple of thoughts:
--the Logitech VX Nano is arguably the very best mouse for the Eee. Built in support for that would differentiate Breeezy from every other distro.
--Breeezy is a really fabulous offering for the Eee. I think it deserves more attention in the Eee world. Maybe a wiki entry? Maybe a thread just for Breeezy giving instructions for using it, replicated in the wiki. I can help with this if you like.
Best wishes and thanks for Breeezy!
Offline
ohyes wrote:
Maybe a wiki entry? Maybe a thread just for Breeezy giving instructions for using it, replicated in the wiki. I can help with this if you like.
Sure. Breeezy's goal is to enable everyone to handle Linux.
Others will be inspired if they read about how you did it.
Offline
Going back to creating bootable flash drive, I've located this mbr.bin file used in Puppy Linux for making bootable flash devices. Use it this way in console (assuming that mbr.bin is in your current directory:
dd if=mbr.bin of=/dev/sdb
In breeezy, the mbr.bin file is in /usr/lib/syslinux/.
Offline
This mbr.bin is a standard part of syslinux. The way DOS hard disks normally boot, the BIOS loads the MBR from the first sector of the disk. This should contain some executable code, a partition table, and a magic number right at the end. It then just runs the code.
The code DOS (and SysLinux) put into the MBR scans the partition table, looking for "active" partitions, then looks at the first sector of these - if they also end with the magic number then it loads this sector and boots it in much the same way that the BIOS booted the MBR itself.
It's up to you though whether you want to use this kind of chaining bootloader in the MBR, or whether you just want to write your main bootloader straight to the MBR. It depends what your bootloader supports. syslinux is designed to be booted by a DOS-style MBR, which is why it provides one. grub doesn't need to be booted that way - you can either write grub stage1 to a partition boot sector, as you would with syslinux, and rely on the MBR to chain to it, or you can install grub stage1 into the MBR. If you do that then you don't need to do anything fancy with partition active flags,
I have found syslinux very simple to set up, in comparison to grub. You can get a somewhat old version of it from Debian etch - it doesn't support booting from large partitions or partitions beyond cylinder 1023, which is a bit irritating, so you might want to use a newer version. There's an extlinux bootloader too which boots from ext2 partitions, if you prefer that - this gets around some of the limitations.
Offline
As the mbr includes the partition table, doesn't copying mbr.bin the way raffy suggested destroy my partition table?
I recall in the past (maybe under dos) having seen some fixmbr utility. Guess this would repair the mbr without overwriting the partition info part.
I managed to get breezy to boot but only if I do a
mkdosfs /dev/sdb
where it takes the whole disk.
I did not try to use partitions and install grub. Guess that would work (maybe with chainloader).
But actually what I want is to have a self partitioned disk, then copy all of the data on it and make it bootable with syslinux. I didn't succeed to do that though.
(rationale: I have a 1GB flash disk and I want to give puppy a part of it and use the other partition for other things (e.g. data storage).
Offline
Hmm, come to think of it, I initially built two partitions on a 512-MB USB flash: 1 = 64 MB FAT16; 2 = ext2. Then I made partition 1 active (it was not active initially) and then did syslinux E: on it in Windows.
It won't boot, so I tried to use mbr.bin in Linux (as described above), and booted successfully.
Note that my partitions were unchanged. In fact, the breeezy files were not in any way affected. I could tell that only the MBR was changed as I had used another image (mbrfat.bin?) before using mbr.bin, but that image shows a string about "HDD boot", so I overwrote it.
My concern here is in being able to use only Xandros in preparing the flash drive for booting. Fdisk works in Xandros (sudo fdisk /dev/sdb), but it does not have/allow(?) dd. Maybe we have to add dd to Xandros in the eee?
Offline
Was the 2nd partition still accessible and proper?
The first partition will typically be accessible as it always starts at logical sector 1.
Offline
I think I did not focus on using the second partition, but I guess our usual situation is a user wanting to easily make a bootable flash disk using Xandros.
Readers can experiment on flash drives with multiple partitions, to verify if using mbr.bin on a flash drive could be done after creating the partitions. The theory of course will be different, and I myself have added partitions to many drives that were originally bootable.
Still, the problem remains: how to easily make a flash drive bootable using Xandros in the eee?
Offline
eFfeM wrote:
Was the 2nd partition still accessible and proper?
The first partition will typically be accessible as it always starts at logical sector 1.
To answer this, I changed the contents of the MBR (in that flash drive) today. Before doing so, I formatted the second partition as ext2 and placed a big ISO on it with its md5sum. After changing the MBR, I checked the ISO's md5sum in partition 2. Again, I changed the MBR and re-checked the ISO's md5sum. No problems.
This suggests that it is safe to use this procedure to update the MBR when the flash drive would not boot, after partition 1 has been made active. (This is the usual case when the flash drive is prepared entirely in Linux.*)
Time to locate dd in Xandros... [Edit: Based on posts here, dd seems available in console, but without the "sudo" requirement - I get hold of the eee only every weekend, so am guessing when it's weekdays.
]
------------------------------------------
* Note that flash drives come in FAT16 format, so "mkdosfs /dev/sdb1" in console will not be necessary. However, that procedure can remove your doubts. ![]()
Last edited by raffy (2008-01-10 9:35:08 pm)
Offline
Breeezy is nice, I installed it and i like it.
All I had to add to make it perfect for me was a different background, and gparted.
Offline
Instructions to create a bootable USB stick from any .ISO file, using Ubuntu.
This has been tested with the .ISO files for Eeexubuntu, Eeebuntu, Breeezy, and gOS.
It should work for any .ISO.
See this: http://forum.eeeuser.com/viewtopic.php?id=9459
Last edited by Jack (2008-01-12 8:47:26 pm)
Offline
tat-2 has an interesting how-to for easy install to USB flash using the Asus eee DVD:
http://forum.eeeuser.com/viewtopic.php?pid=95203#p95203
Offline
How to install Breeezy Puppy using only the ASUS Eee PC Xandros Linux
This "how to" will use the console so it can be a learning experience for
the people who are new to Linux. For each new command used, I will give a
simple explanation of what the command does. For more detail on a particular
command in a console window, one can see the manual page for the command (e.g
man, directions for using man) by typing "man man". With man, hitting the
space key will allow you to page through the information. "Crtl z" key exits
from the man program. There is also info command for similar information.
It has a help screen that is show by "?".
To open the console window, use the "Ctrl-Alt-T" key combination. This
will open a console.
One needs two directories to work with the files and the device (either
a SD card or a USB flash drive). One needs to make sure that you are in the
correct directory. Use pwd (present working directory) to show where you are.
The "pwd" command should give /home/user. The first new directory is data
and will be used to hold the initial breeezy files. To make the directory use
"mkdir data". Typing ls (list directory) will show the new directory data.
The second directory is temp and created in the same fashion (mkdir temp).
Type "ls" and the two new directories will be listed.
We need to get the files for breeezy. They are located at this web page:
http://minipc.org/safepup/index.php?fil … %20eee.htm
You need to download these files and save them to /home/user/data directory:
breezy.zip, mbr.bin, and syslinux-nomtools. All three files should be on that
page.
Connect the device that you want to install breeezy on to the Eee PC. For a
SD card, the reader is /dev/sdb1. If a USB flash drive is used, when it is in
a USB port, then it is /dev/sdc1. For this "How To", I will use a SD card,
but, will note the USB Flash drive.
The Xandros Linux tries to make life easier for the user by automatically
mounting the device. Unfortunately, the first operations need the card or USB
flash drive unmounted. Back to the console window to do this.
One needs to be "root" to do the next steps. First, become root by issuing
the command "sudo -i". If you have set a password for the Eee PC, you will
be asked for the password. Once, you are "root", you will notice the console
prompt has changed. You are in the root directory. One needs to be in the
directory with the needed files. One uses the cd (change directory) command
to get there. The command is cd /home/user/data.
Once, you are the correct directory, we can umount the device. First, one
checks to the mount table. The way is to enter "mount" without any options.
A list of the mounted file systems will be shown. The device (either
/dev/sdb1 for the SD or /dev/sdc1 for USB drive) will be the last entry.
If it is, then we can unmount it with the "umount". As root, one enters
umount /dev/sdb1 (or for USB /dev/sdc1). One can check with the "mount"
command to ensure it is unmounted.
Now one needs to install a proper master boot record (i.e. mbr.bin) using
the dd (data dump) commnad. One has to be very careful using the dd
command. A error in typing will have you restoring the entire system.
(WARNING! CHECK THE "dd" COMMAND BEFORE HITTING ENTER. IF /dev/sda/ IS
ENTERED, THEN BOOT PROBLEMS CAN HAPPEN AND THE ENTIRE XANDROS SYSTEM MAY
HAVE TO BE RESTORED) The command to write the needed master boot record is;
"dd if=mbr.bin of=/dev/sdb" (or /dev/sdc for the USB device). For the
"dd" command the numerical value is not needed. One should see dd report
that one record (440 bytes) was read and written.
Next we use syslinux-nomtools to put the boot strap loader on the device. The
boot strap loader locates, loads and starts the linux kernel. Once again,
an error in typing can causes problems. (WARNING! CHECK THE COMMAND BEFORE
HITTING ENTER. IF /dev/sda/ IS ENTERED, THEN BOOT PROBLEMS CAN HAPPEN AND
THE ENTIRE XANDROS SYSTEM MAY HAVE TO BE RESTORED) The command to be used is:
"/home/user/data/systools-nomtools /dev/sdb1" (/dev/sdc1 for USB flash drive).
Please notice that the directory holding systools-nomtools have to be given.
This is to ensure that the correct file is found. The system "path" variable
does not tell the system to look for the file in the correct directory, so
we have too. One may have to set the permissions to allow syslinux-nomtools
to execute. The command to do this is "chmod 777 syslinux-nomtools". Need to
use the chmod command is dependent on how the files were downloaded or
transfer to the Eee PC. Syslinux only prints error messages if it fails. This
is case of "no news is good news".
The files contained in breeezy.zip need to be extracted. The command used is:
"unzip breeezy.zip" After the command unzip completes, one uses the ls command
to see the files: The ls command should report the following files:
breeezy.zip, initrd.gz, ldlinux.sys, pup_213.sfs, syslinux.cfg, syslinux.exe,
usbflash, and vmlinuz.
One, now, in preparation to copy the need files, needs to mount the device.
This is an operation that only root (or the system) can do. The "mount" needs
to be understood. This is one command (mount) that you should get to know.
Most Linux systems have automatic mounting. But, there are those times, you
need to understand what is going on. "Mount" assigns a directory for a device
so a user can access the files on the device. This is a simple explanation.
Here is where the second directory temp is used. To mount, one uses the
following:
"mount -t vfat /dev/sdb1 /home/user/temp" (Note for USB flash drive, use
/dev/sdc1).
Time to copy the needed breeezy files to the device. You need to be in the
/home/user/data directory. You can check this by using the "pwd" command.
The copy command is "cp". This is another helpful command that should be
familar to you. Here is the sequence of commands to copy the needed files:
"cp initrd.gz /home/user/temp/initrd.gz
cp pup_213.sfs /home/user/temp/pup_213.sfs
cp syslinux.cfg /home/user/temp/syslinux.cfg
cp usbflash /home/user/temp/usbflash
co vmlinuz /home/user/temp/vmlinuz".
You are thinking that is a lot to typing to do. Here is some information on
editing in the console. Hitting the up arrow key will bring up the last
command entered. One use the left or right arrow keys to move the cursor to
place where one can delete (del key) or insert text as needed.
You may also be asking what about the other files in breeezy.zip? You do
not need ldlinux.sys, it was create by syslinux-nomtools. The file
syslinux.exe is a Windows file and can not be used directly by Linux.
The preparation process is finished. One has to "clean up" before reboot.
One needs to umount the device with "umount /dev/sdb1" (or /dev/sdc1). Lastly,
type "exit" to stop being root. Leave the device in either the SD card reader
or USB port and reboot using the normal Xandros process. Hit the "esc" key
several times, with boot splash to access the boot loader squence and select
the device with breeezy. After hitting the enter key, breeezy should start
loading with the syslinux startup line of text.
I hope this helps. OhYes, if you think this is good, then please do the cut and paste
to the wiki.
Enjoy life, JustGreg
Live well, Laugh Often, Love Much
Last edited by JustGreg (2008-01-19 12:39:44 pm)
Offline
Here is another way of getting syslinux :
Install the syslinux package using: sudo aptitude install syslinux
Jack originally posted this information under this message: http://forum.eeeuser.com/viewtopic.php?id=9459
The syslinux-nomtools should be in package. One may be able to just use
plain syslinux depending on the package.
Offline
I've been trying various ways to get Breeezy to boot of SD... a great way to learn about linux. I get stuck trying to get syslinux.
/home/user> sudo apt-get install syslinux
Reading package lists... Done
Building dependency tree... Done
E: Couldn't find package syslinux
and
/home/user> sudo aptitude install syslinux
Reading package lists... Done
Building dependency tree... Done
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done
Couldn't find any package whose name or description matched "syslinux"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
And syslinux-nomtools isn't on http://minipc.org/safepup/index.php?fil … eee.htm#hp so I can't get it from there. Everywhere else I search says "just install it" ![]()
Any help? Cheers, Mike
Last edited by miker (2008-01-21 5:59:04 am)
Offline
Pages: 1 2