On Tue, Mar 04, 2014 at 03:54:50PM +0000, Colin Watson wrote:
> On Tue, Mar 04, 2014 at 07:41:22AM -0800, Matt Kraai wrote:
> > When I try to install Debian on a Lemote Yeeloong, GRUB installation
> > fails with the following error message:
> > 
> > > source_dir doesn't exist. Please specify --target or --directory
> > 
> > grub-install uses the output of "uname -m" to determine what to set
> > target to.  "uname -m" outputs mips64, so target is set to mips-arc,
> > but /usr/lib/grub/mips-arc does not exist.  If I pass
> > "--target=mipsel-loongson", grub-install succeeds.
> 
> Thanks.  I think this is fixed in experimental with the grub-install
> rewrite in C, as it now uses #if defined (__MIPSEL__) - could you
> confirm?

It appears to have worked.  When I upgraded to it, it output:

> Installing for mipsel-loongson platform.
> grub-install: warning: WARNING: no platform-specific install was performed.
> Installation finished. No error reported.


> If we need to fix this in 2.00, could you suggest a more accurate check
> that's about at the level of uname -m (i.e. no dpkg --print-architecture
> etc.)?

The output of "lscpu", from util-linux, contains either:

> Byte Order:            Little Endian

or

> Byte Order:            Big Endian

so how about the following patch?

Index: grub/util/grub-install.in
===================================================================
--- grub.orig/util/grub-install.in      2014-03-04 08:38:05.892401086 -0800
+++ grub/util/grub-install.in   2014-03-04 08:43:53.800673123 -0800
@@ -289,10 +289,12 @@
                target="powerpc-ieee1275";;
            x"sparc"*)
                target="sparc64-ieee1275";;
-           x"mips"*"el")
-               target="mipsel-loongson";;
            x"mips"*)
-               target="mips-arc";;
+               if lscpu | grep -qx 'Byte Order: *Little Endian'; then
+                   target="mipsel-loongson";;
+               else
+                   target="mips-arc";;
+               fi
            x"ia64"*)
                target="ia64-efi";;
            x"x86_64"* | x"amd64"*)

-- 
Matt


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to