Jump to content











Photo
- - - - -

Xiaopan boot error: [sda] asking for cache data failed usb drive


  • Please log in to reply
42 replies to this topic

#1 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 02 February 2013 - 12:35 AM

Hi
I was trying to boot Xiaopan 0.4.4 in a Multiboot Usb Drive with Grub4Dos and i get this error

But it's working fine in  Qemu, and it took me a while to make it work

First i wanted to boot directly from iso but couldn't make it work

title Xiaopan 0.4.4
find --set-root --ignore-floppies /iso/Xiaopan0.4.4.iso
map /iso/Xiaopan0.4.4.iso (0xff)
map --hook
root (0xff)
chainloader (0xff) 

Then i extracted the iso to /xiaopan folder and it worked in Qemu but when tested on my pc i get this error

 
Here is my entry in menu.lst

title Xiaopan
find --set-root /xiaopan/boot/vmlinuz
kernel /xiaopan/boot/vmlinuz quiet tce=sda1/xiaopan/cde/ tz=GMT+1 showapps vga=788 lang=en.utf8
initrd /xiaopan/boot/core.gz

 

I have tried to change sda1 with sdc (that's how appear in Gparted from the same usb) 

sda and sdb are my 2 hdd, sdc is my usb

do i need to change sda with something else for the usb?

or is my setting bad

 

Thanks

 



#2 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 02 February 2013 - 12:13 PM

Hi

 

If you use UUID then you do not need to worry about sda1/sdb1 etc. Use a 2012 version of grub4dos for this (e.g. as in RMPrepUSB!).

 

To boot from ISO, try this:

# if booting from a USB Flash drive get the UUID like this
uuid (bd) > (md)0x220+1
cat --skip=18 --length=9 (md)0x220+1 | set UUID=
# if booting from HDD use --length=16

title Xiaopan0.4.4.iso (UUID=%UUID%)
map /_iso/linux/auto/Xiaopan0.4.4.iso (0xff)
map --hook
root (0xff)
kernel /boot/vmlinuz quiet tinycore iso=UUID=%UUID%/_iso/linux/auto/Xiaopan0.4.4.iso waitusb=5 
initrd /boot/core.gz

 

If you want to boot from a flat file, extract the ISO contents to the USB drive to a new folder on your USB drive - e.g. \xiaopan

title XiaoPan OS 0.4.4 Flat file (UUID=%UUID%)
find --set-root /xiaopan/boot/vmlinuz
kernel /xiaopan/boot/vmlinuz quiet tinycore tce=UUID=%UUID%/xiaopan/cde/ tz=GMT+0 showapps vga=788 mydata=/xiaopan lang=en.utf8 restore=/xiaopan/cde waitusb=5
initrd /xiaopan/boot/core.gz

 

timezone is set in above example and vga mode, etc.
The waitusb=5 is important - you need to wait a few seconds for it to detect the USB drive.
 
cheat codes are here.


#3 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 02 February 2013 - 02:31 PM

Thanks for your reply

so where you put (UUID=%UUID%) do i need to put my usb flash UUID?

sorry to ask but i search and didn't find anything usefull

and why RMPrepUSB is giving me slightly different UUID than in Diskpart

ex:RMPrepUSB - 5B7DEF81

     Diskpart        - 81EF7D5B

is the same only backward 



#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 02 February 2013 - 02:48 PM

What this snippet does:

 

 

 

# if booting from a USB Flash drive get the UUID like this
uuid (bd) > (md)0x220+1
cat --skip=18 --length=9 (md)0x220+1 | set UUID=
# if booting from HDD use --length=16

is the following:

use the uuid command of grub4dos to calculate the UUID of the boot disk (bd) which should be the stick.

store this in a memory location (md)0x220+1

read from the memory location and store in the variable UUID (which value %UUID% is later used)

 

In other words it is fully automated. :)

 

The UUID (the valid one that grub4dos will "recognize") needs to be calculated with the grub4dos uuid command (and NOT with other ways), see also:

http://reboot.pro/to...d-in-this-code/

 

:cheers:

Wonko



#5 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 02 February 2013 - 03:40 PM

It works if i put this at the start of menu.lst

uuid (bd) > (md)0x220+1
cat --skip=18 --length=9 (md)0x220+1 | set UUID=

it still gives me this error

sd 4.0.0.0 [sdc]Asking For Cache Data Failed
sd 4.0.0.0 [sdc]Assuming Drive Cache: Write Trough

but it still boots to desktop and seems to work fine (from iso or flat behaving the same)

only the default wallpaper of Xiaopan doesn't loading (something with Batman) instead is the default TinyCore one

 

Thanks


Edited by Hexley Darwin, 02 February 2013 - 03:41 PM.


#6 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 02 February 2013 - 05:24 PM

See Tutorial #99 on my site to get BatMan and save changes.


  • h3xl3y likes this

#7 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 02 February 2013 - 07:08 PM

See Tutorial #99 on my site to get BatMan and save changes.

I followed Tutorial 99 but is not working well

i still have to put these 2 lines at the start of menu.lst, if not it remains at cmd  tc@box:~$

uuid (bd) > (md)0x220+1
cat --skip=18 --length=9 (md)0x220+1 | set UUID=

 

and the config like this

iftitle [if exist /iso/Xiaopan0.4.4.iso] Xiaopan0.4.4.iso
map /iso/Xiaopan0.4.4.iso (0xff)
map --hook
root (0xff)
set mydata=
if exist (bd)/xi.tgz set mydata=mydata=xi
kernel /boot/vmlinuz quiet tinycore iso=UUID=%UUID%/iso/Xiaopan0.4.4.iso waitusb=5 %mydata%
initrd /boot/core.gz

 

this way is working fine

 

Thanks



#8 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 02 February 2013 - 07:32 PM

I cut and pasted the iso menu from the article onto a new USB pen with the xi.tgz file and it worked fine??? I test, re-test and double-retest all my article content.

Did you make sure there was no space at the ned of the set UUID =  line?



#9 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 02 February 2013 - 07:39 PM

I cut and pasted the iso menu from the article onto a new USB pen with the xi.tgz file and it worked fine??? I test, re-test and double-retest all my article content.

Did you make sure there was no space at the ned of the set UUID =  line?

I copy directly from tut. 99 and pasted to my menu.lst

it was exactly like this

iftitle [if exist /iso/Xiaopan0.4.4.iso] Xiaopan0.4.4.iso
# if booting from a USB Flash drive get the UUID like this
uuid (bd) > (md)0x220+1
cat --skip=18 --length=9 (md)0x220+1 | set UUID=
# if booting from HDD use --length=16
map /iso/Xiaopan0.4.4.iso (0xff)
map --hook
root (0xff)
set mydata=
if exist (bd)/xi.tgz set mydata=mydata=xi
kernel /boot/vmlinuz quiet tinycore iso=UUID=%UUID%/iso/Xiaopan0.4.4.iso waitusb=5 %mydata%
initrd /boot/core.gz

 

i will try with another usb only with Xiopan and tell you the result in 5 minutes



#10 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 02 February 2013 - 07:57 PM

Yea it works just fine on another usb i just made 

iftitle [if exist /iso/Xiaopan0.4.4.iso] Xiaopan0.4.4.iso
# if booting from a USB Flash drive get the UUID like this
uuid (bd) > (md)0x220+1
cat --skip=18 --length=9 (md)0x220+1 | set UUID=
# if booting from HDD use --length=16
map /iso/Xiaopan0.4.4.iso (0xff)
map --hook
root (0xff)
set mydata=
if exist (bd)/xi.tgz set mydata=mydata=xi
kernel /boot/vmlinuz quiet tinycore iso=UUID=%UUID%/iso/Xiaopan0.4.4.iso waitusb=5 %mydata%
initrd /boot/core.gz

 

on the other usb that i had to modify i think it didn't work because of this custom menu

# $[ABCD] Color - specifies the text colour where A=0/1 (where 1 is blinking text), B=0/1(where 1 is bright text), C=0-7 background colour, D=0-7 text colour
# Colours for the $[] parameters are: 0=black/grey 1=dark blue, 2=green, 3=aqua, 4=dark red, 5=pink, 6=yellow/brown, 7=grey/white.
write (md)0x220+1 !BAT\necho -n -P:0000 $[1104]                      --- USB Multiboot Drive ---                                     \0
initscript (md)0x220+1
#Normal text black/cyan background | Highlighted menu=yellow/cyan background | Help text=red/light=blue background | Heading is yellow/white background
color red/green yellow/red red/yellow red/green
graphicsmode -1 640 480:800 24:32
splashimage /pic.xpm.gz
debug 0
default 0

 

what do you think?

 

and sorry for your trouble

 

Thanks



#11 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 02 February 2013 - 08:09 PM

yes, you have used debug 0 - this turns off messages, so UUID command does not output anything!

 

put a 

debug 1

immediately after the title line - I will add this to the tutorial!



#12 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 02 February 2013 - 08:24 PM

put a  debug 1 immediately after the title line - I will add this to the tutorial!

Problem solved 

Thank you for assistance 



#13 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 03 February 2013 - 05:05 PM

yes, you have used debug 0 - this turns off messages, so UUID command does not output anything!

 

put a 

debug 1

immediately after the title line - I will add this to the tutorial!

... maybe better  "immediately before the uuid command" ;)

 

:cheers:

Wonko



#14 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 04 February 2013 - 04:05 PM

Chenall has suggested this as better way to get the UUID - this is not dependent on the the debug value. :clap: 

 

uuid (bd) > nul && set UUID=%?%

[Edit] does not work if you redirect to nul![/Edit]



#15 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 04 February 2013 - 05:25 PM

Chenall has suggested this as better way to get the UUID - this is not dependent on the the debug value. :clap: 

 



uuid (bd) > nul && set UUID=%?%

Good to know :).

 

:cheers:
Wonko



#16 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 04 February 2013 - 05:38 PM

Chenall has suggested this as better way to get the UUID - this is not dependent on the the debug value. :clap: 

 

uuid (bd) > nul && set UUID=%?%

This doesn't work for me

It stops at command   tc@box:~$  



#17 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 04 February 2013 - 05:43 PM

Pls doublecheck - works for me and even if it doesn't work it should not bomb.

What is tc@box:~$   ??

What grub4dos version and date are you using?



#18 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 04 February 2013 - 05:58 PM

Pls doublecheck

I've checked in Qemu and PC  2 times each

What is tc@box:~$   ??

screenshot1par.png

What grub4dos version and date are you using?

 The one from RMPrepUSB_Portable_v2.1.654



#19 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 04 February 2013 - 06:05 PM

There must be something lost in translation.

grub4dos commands only work at grub4dos (if you prefer at the grub> prompt) and NOT (obviously) in a booted OS (Tinycore Linux in your case).

Boot from grub4dos.

Press "c" (if you get to a menu) to get to command line/grub4dos prompt.

Test the commands.

 

Read some basics about command line in grub4dos in the guide:

http://diddy.boot-la...iles/basics.htm

http://diddy.boot-la...s/files/cli.htm

 

 

:cheers:
Wonko



#20 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 04 February 2013 - 06:10 PM

Oh, I see

I tried it and it doesn't work! The problem is the > nul seems to stop it from working - really weird!

 

remove the > nul  bit and it will work!



#21 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 04 February 2013 - 06:13 PM

grub4dos command only work at grub4dos (if you prefer at the grub> prompt) and NOT (obviously) in a booted OS (Tinycore Linux in your case).

 

I'm not trying to boot TinyCore, but Xiaopan is TinyCore based


Edited by Hexley Darwin, 04 February 2013 - 06:31 PM.


#22 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 04 February 2013 - 06:19 PM

Oh, I see
I tried it and it doesn't work! The problem is the > nul seems to stop it from working - really weird!
 
remove the > nul  bit and it will work!

This works fine here:
 
 

debug off
uuid (bd) && set var=%?%
debug on
set var
I'm not tryng to boot 
 
I'm not trying to boot TinyCore, but Xiaopan is TinyCore based

I am completely failing to understand WHAT you are doing (or want to do), then.
A command ONLY works in the environment it is for.
Some different environments (please read as Operating systems) may have similar or same commands, but uuid is a grub4dos command and it is simply NOT there in other environments.

 
 
:cheers:
Wonko



#23 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 04 February 2013 - 06:43 PM

I am completely failing to understand WHAT you are doing (or want to do), then

What is so difficult to understand

I am booting Xiaopan0.4.4.iso and a few others Linuxes with Grub4Dos from a USB Flash drive 

and used RPMprepUSB to format and install Grub4Dos on USB Flash drive



#24 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 04 February 2013 - 06:45 PM

Something is weird!

Try this exact code and a fresh boot in QEMU

 

 

title test
uuid (bd) && set UUID=%?%
echo UUID=%UUID% ?_UUID=%?_UUID%
uuid (bd) && set UUID=%?%
echo UUID=%UUID% ?_UUID=%?_UUID%
pause
root

 

The first echo only prints ?_UUID

 

Now try this on a fresh boot...

title test1
uuid (bd)
set UUID=%?%
echo UUID=%UUID% ?_UUID=%?_UUID%
uuid (bd)
set UUID=%?%
echo UUID=%UUID% ?_UUID=%?_UUID%
pause
root

This prints both - all OK!

 

 

 


#25 h3xl3y

h3xl3y

    Member

  • Members
  • 34 posts
  •  
    European Union

Posted 04 February 2013 - 06:47 PM

Oh, I see

I tried it and it doesn't work! The problem is the > nul seems to stop it from working - really weird!

 

remove the > nul  bit and it will work!

If this should be like this then is not working

iftitle [if exist /iso/Xiaopan0.4.4.iso] Xiaopan 0.4.4
uuid (bd) && set UUID=%?%
map /iso/Xiaopan0.4.4.iso (0xff)
map --hook
root (0xff)
set mydata=
if exist (bd)/xi.tgz set mydata=mydata=xi
kernel /boot/vmlinuz quiet tinycore iso=UUID=%UUID%/iso/Xiaopan0.4.4.iso waitusb=5 %mydata%
initrd /boot/core.gz

 

tried a few more variation but didn't have any luck






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users