grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 4/7] Support for ARM/U-Boot platforms


From: Francesco Lavra
Subject: Re: [PATCH 4/7] Support for ARM/U-Boot platforms
Date: Mon, 01 Apr 2013 11:53:12 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1

On 04/01/2013 04:15 AM, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> Which architecture is raspberry pie? I have one here and it would be
> good if I could use it for testing.

It's ARMv6, so unfortunately it's not supported by this port, which
works only on ARMv7.

> 
>> +#define GRUB_KERNEL_MACHINE_STACK_SIZE 0x40000
>> +#define GRUB_KERNEL_MACHINE_HEAP_SIZE  (grub_size_t) (2 * 1024 * 1024)
> 
> Why so small heap?
> 
>> === modified file 'util/grub-install.in'
>> --- util/grub-install.in     2013-01-27 15:17:21 +0000
>> +++ util/grub-install.in     2013-03-24 13:03:31 +0000
>> @@ -319,6 +319,8 @@
>>                  target=i386-pc
>>              fi
>>              ;;
>> +        x"arm"*)
>> +            target="arm-uboot";;
>>          *)
>>              gettext "Unable to determine your platform. Use --target." ;
>>              echo    ;;
>> @@ -338,7 +340,7 @@
>>      if [ x$disk_module = xunspecified ]; then
>>      disk_module=biosdisk
>>      fi
>> -elif [ "${grub_modinfo_platform}" = "ieee1275" ] || [ 
>> "${grub_modinfo_platform}" = "efi" ] || [ "${grub_modinfo_platform}" = "arc" 
>> ] ; then
>> +elif [ "${grub_modinfo_platform}" = "ieee1275" ] || [ 
>> "${grub_modinfo_platform}" = "efi" ] || [ "${grub_modinfo_platform}" = "arc" 
>> ] || [ "${grub_modinfo_platform}" = "uboot" ] ; then
>>      disk_module=
>>  else
>>      disk_module=native
>> @@ -854,6 +856,14 @@
>>              -L "$bootloader_id" -l "\\EFI\\$efi_distributor\\$efi_file"
>>      fi
>>      fi
>> +elif [ x"${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = xarm-uboot 
>> ]; then
>> +    
>> grub_imgname="${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/core.${imgext}"
>> +    raw_imgname="${uboot_imgname}.raw"
> 
> Where is uboot_imgname set?
> 
>> +    mv "$grub_imgname" "$raw_imgname"
>> +    mkimage -T kernel -A ARM -O Linux -a 0x08000000 -e 0x08000000 -C none 
>> -d "$raw_imgname" "$grub_imgname"
> 
> Is it from uboot? You need to check for its availability
> 
>> @@ -1687,6 +1707,9 @@
>>      core_size = program_size + header_size + footer_size;
>>        }
>>        break;
>> +    case IMAGE_UBOOT:
>> +      /* Raw image, header added by grub-install */
>> +      break;
> 
> What is this additional header? Is it just ELF? Why not use ELF codepath?

No, it's not an ELF header, it's a U-Boot-specific header added by the
mkimage utility launched by grub-install.

--
Francesco



reply via email to

[Prev in Thread] Current Thread [Next in Thread]