Message ID | 1487144021-27808-2-git-send-email-abhimanyu.vishwakarma@imgtec.com |
---|---|
State | Changes Requested |
Headers | show |
On 15-02-17 08:33, Abhimanyu V wrote: > From: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com> > > Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com> > Reviewed-by: Rahul Bedarkar <Rahul.Bedarkar@imgtec.com> > --- > Changes v1 -> v2 > - No change > > board/ci40/readme.txt | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ > configs/ci40_defconfig | 27 +++++++++++++++++++++++++++ > 2 files changed, 76 insertions(+) > create mode 100644 board/ci40/readme.txt > create mode 100644 configs/ci40_defconfig > > diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt > new file mode 100644 > index 0000000..8ce7ed8 > --- /dev/null > +++ b/board/ci40/readme.txt > @@ -0,0 +1,49 @@ > +********************* > +* MIPS Creator CI40 * > +********************* > + > +The 'ci40_defconfig' will create a root filesystem and a kernel image > +under the 'output/images/' directory. This document will try to explain how > +to use them in order to run Buildroot in the MIPS Creator CI40 board. > + > +The current bootloader by default boot fitImage, so we would need to create ^^^^boots a fitImage > +command to be able to boot from uImage. Assuming you are at the U-Boot prompt > +of the MIPS Creator CI40, you can use following way to boot. Why don't you just create a FIT image instead of a legacy uImage? It's a bit more involved but not that difficult, is it? Alternatively, it would be convenient to patch the default U-Boot environment to boot a uImage, from SD or USB. > + > +Booting from network (nfsboot) > +------------------------------ > + pistachio # setenv netboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $netroot nfsroot=$serverip:$rootpath $bootextra $mtdparts;dhcp $loadaddr $legacy_bootfile; dhcp $fdtaddr $fdtfile;' > + > + pistachio # run netboot_legacy > + > + It will set variable to boot from tftp server and uses nfsroot > + > +Booting from USB/MMC > +-------------------- > +Extract the generated root filesystem, uImage and dtb file into a USB drive > +or SD-Card. Here you have the instructions to boot from the two of them. It would be a lot more convenient if you would create either of these images with genimage. > +You have to choose the one your prefer: > + > +From USB > + pistachio # setenv usbboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $usbroot $bootextra $mtdparts;usb start;ext4load usb $usbdev $fdtaddr $bootdir$fdtfile;ext4load usb $usbdev $loadaddr $bootdir$legacy_bootfile;' > + > + pistachio # run usbboot_legacy > + > +From SD-Card > + pistachio # setenv mmcboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $mmcroot $bootextra $mtdparts;setenv verify n;mmcinfo; mmc dev $mmcdev;ext4load mmc $mmcdev $fdtaddr $bootdir$fdtfile;ext4load mmc $mmcdev $loadaddr $bootdir$legacy_bootfile;' > + > + pistachio # run mmcboot_legacy > + > +Finally boot from the loaded file: > + > + pistachio # bootm $loadaddr - $fdtaddr; The instructions don't mention what to do with the U-Boot binary that was generated by the defconfig. It's a bit useless to build U-Boot if you then don't use it. > + > + > +Online docs > +----------- > +mostly for openwrt but it also applicable on buildroot > +https://docs.creatordev.io/ci40/guides/openwrt-platform/#overview > + > +Prebuilt uboot > +-------------- > +http://downloads.creatordev.io/?q=u-boot/ > diff --git a/configs/ci40_defconfig b/configs/ci40_defconfig > new file mode 100644 > index 0000000..5363347 > --- /dev/null > +++ b/configs/ci40_defconfig > @@ -0,0 +1,27 @@ > +BR2_mipsel=y > +BR2_mips_32r2=y > +# BR2_MIPS_SOFT_FLOAT is not set > +BR2_TOOLCHAIN_EXTERNAL=y > +BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS=y We normally use uClibc toolchains, unless when there is a *very* good reason not to. We *never* use external toolchains in the defconfigs. > +BR2_TARGET_GENERIC_HOSTNAME="Ci40" > +BR2_TARGET_GENERIC_ISSUE="Welcome to Ci40" > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" > +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y Since the bootargs you set in the instructions above include a setting of a console, this shouldn't be needed, the default /dev/console should work. > +BR2_SYSTEM_DHCP="eth0" > +BR2_ENABLE_LOCALE_WHITELIST="C en_US en_GB" We normally don't change the default for this. > +BR2_LINUX_KERNEL=y > +BR2_LINUX_KERNEL_CUSTOM_GIT=y > +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/CreatorDev/linux.git" > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="2319a2476a2bc0c582a9811cd45a6fa3c0beba37" You can use a custom tarball and $(github-helper). Much more efficient to download. Admittedly, we currently don't use github-helper anywhere in the defconfigs, but we probably should. > +BR2_LINUX_KERNEL_DEFCONFIG="pistachio" > +BR2_LINUX_KERNEL_DTS_SUPPORT=y > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="img/pistachio_marduk" > +BR2_PACKAGE_LINUX_FIRMWARE=y If you don't select any firmware blob, then this package does nothing. Or am I missing something? > +BR2_PACKAGE_UCCP420WLAN=y If you include a Wifi driver/firmware, it makes sense to also include the minimal toolset to use it. See e.g. imx6ulpico_defconfig. BTW, it's also nice to insert comment lines like in that defconfig. Regards, Arnout > +BR2_TARGET_UBOOT=y > +BR2_TARGET_UBOOT_BOARDNAME="pistachio_marduk" > +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y > +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/CreatorDev/u-boot/archive/v1.0.4.tar.gz" > +# BR2_TARGET_UBOOT_FORMAT_BIN is not set > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-pistachio_marduk-2015.10-v1.0.4.img" >
Thankyou Arnout! On Friday 17 February 2017 03:27 AM, Arnout Vandecappelle wrote: > > On 15-02-17 08:33, Abhimanyu V wrote: >> From: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com> >> >> Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com> >> Reviewed-by: Rahul Bedarkar <Rahul.Bedarkar@imgtec.com> >> --- >> Changes v1 -> v2 >> - No change >> >> board/ci40/readme.txt | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ >> configs/ci40_defconfig | 27 +++++++++++++++++++++++++++ >> 2 files changed, 76 insertions(+) >> create mode 100644 board/ci40/readme.txt >> create mode 100644 configs/ci40_defconfig >> >> diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt >> new file mode 100644 >> index 0000000..8ce7ed8 >> --- /dev/null >> +++ b/board/ci40/readme.txt >> @@ -0,0 +1,49 @@ >> +********************* >> +* MIPS Creator CI40 * >> +********************* >> + >> +The 'ci40_defconfig' will create a root filesystem and a kernel image >> +under the 'output/images/' directory. This document will try to explain how >> +to use them in order to run Buildroot in the MIPS Creator CI40 board. >> + >> +The current bootloader by default boot fitImage, so we would need to create > ^^^^boots a fitImage > >> +command to be able to boot from uImage. Assuming you are at the U-Boot prompt >> +of the MIPS Creator CI40, you can use following way to boot. > Why don't you just create a FIT image instead of a legacy uImage? It's a bit > more involved but not that difficult, is it? > > Alternatively, it would be convenient to patch the default U-Boot environment > to boot a uImage, from SD or USB. I had expected fitImage will take some time which i started working on after posting the patch. I have it ready now so I will post the new version with the changes. I have kept uImage boot just in case people would like to use it. Patching uboot is an option but since we not going to support uImage, i think it is not worth. This can be kept as just for information? >> + >> +Booting from network (nfsboot) >> +------------------------------ >> + pistachio # setenv netboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $netroot nfsroot=$serverip:$rootpath $bootextra $mtdparts;dhcp $loadaddr $legacy_bootfile; dhcp $fdtaddr $fdtfile;' >> + >> + pistachio # run netboot_legacy >> + >> + It will set variable to boot from tftp server and uses nfsroot >> + >> +Booting from USB/MMC >> +-------------------- >> +Extract the generated root filesystem, uImage and dtb file into a USB drive >> +or SD-Card. Here you have the instructions to boot from the two of them. > It would be a lot more convenient if you would create either of these images > with genimage. Thanks, i didnt know about genimage. i will have look at it. >> +You have to choose the one your prefer: >> + >> +From USB >> + pistachio # setenv usbboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $usbroot $bootextra $mtdparts;usb start;ext4load usb $usbdev $fdtaddr $bootdir$fdtfile;ext4load usb $usbdev $loadaddr $bootdir$legacy_bootfile;' >> + >> + pistachio # run usbboot_legacy >> + >> +From SD-Card >> + pistachio # setenv mmcboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $mmcroot $bootextra $mtdparts;setenv verify n;mmcinfo; mmc dev $mmcdev;ext4load mmc $mmcdev $fdtaddr $bootdir$fdtfile;ext4load mmc $mmcdev $loadaddr $bootdir$legacy_bootfile;' >> + >> + pistachio # run mmcboot_legacy >> + >> +Finally boot from the loaded file: >> + >> + pistachio # bootm $loadaddr - $fdtaddr; > > The instructions don't mention what to do with the U-Boot binary that was > generated by the defconfig. It's a bit useless to build U-Boot if you then don't > use it. legacy_bootfile env variable actually points to uImage, so it is being used but not clear, i can explicitly setenc legacy_bootfile to uImage to show it. >> + >> + >> +Online docs >> +----------- >> +mostly for openwrt but it also applicable on buildroot >> +https://docs.creatordev.io/ci40/guides/openwrt-platform/#overview >> + >> +Prebuilt uboot >> +-------------- >> +http://downloads.creatordev.io/?q=u-boot/ >> diff --git a/configs/ci40_defconfig b/configs/ci40_defconfig >> new file mode 100644 >> index 0000000..5363347 >> --- /dev/null >> +++ b/configs/ci40_defconfig >> @@ -0,0 +1,27 @@ >> +BR2_mipsel=y >> +BR2_mips_32r2=y >> +# BR2_MIPS_SOFT_FLOAT is not set >> +BR2_TOOLCHAIN_EXTERNAL=y >> +BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS=y > We normally use uClibc toolchains, unless when there is a *very* good reason > not to. We *never* use external toolchains in the defconfigs. I have not tested with uClibc toolchain, so will build and test it before commenting. >> +BR2_TARGET_GENERIC_HOSTNAME="Ci40" >> +BR2_TARGET_GENERIC_ISSUE="Welcome to Ci40" >> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" >> +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y > Since the bootargs you set in the instructions above include a setting of a > console, this shouldn't be needed, the default /dev/console should work. Thanks, Will fix it. > >> +BR2_SYSTEM_DHCP="eth0" >> +BR2_ENABLE_LOCALE_WHITELIST="C en_US en_GB" > We normally don't change the default for this. Thanks >> +BR2_LINUX_KERNEL=y >> +BR2_LINUX_KERNEL_CUSTOM_GIT=y >> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/CreatorDev/linux.git" >> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="2319a2476a2bc0c582a9811cd45a6fa3c0beba37" > You can use a custom tarball and $(github-helper). Much more efficient to download. > > Admittedly, we currently don't use github-helper anywhere in the defconfigs, > but we probably should. > Will try github-helper. >> +BR2_LINUX_KERNEL_DEFCONFIG="pistachio" >> +BR2_LINUX_KERNEL_DTS_SUPPORT=y >> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="img/pistachio_marduk" >> +BR2_PACKAGE_LINUX_FIRMWARE=y > If you don't select any firmware blob, then this package does nothing. Or am I > missing something? Ah yes this is redundant now, i will remove it. >> +BR2_PACKAGE_UCCP420WLAN=y > If you include a Wifi driver/firmware, it makes sense to also include the > minimal toolset to use it. See e.g. imx6ulpico_defconfig. > > BTW, it's also nice to insert comment lines like in that defconfig. Sure, thanks for pointer. > Regards, > Arnout > >> +BR2_TARGET_UBOOT=y >> +BR2_TARGET_UBOOT_BOARDNAME="pistachio_marduk" >> +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y >> +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/CreatorDev/u-boot/archive/v1.0.4.tar.gz" >> +# BR2_TARGET_UBOOT_FORMAT_BIN is not set >> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y >> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-pistachio_marduk-2015.10-v1.0.4.img" >> Thanks and Regards Abhimanyu V
On 17-02-17 08:05, Abhimanyu V wrote: >> The instructions don't mention what to do with the U-Boot binary that was >> generated by the defconfig. It's a bit useless to build U-Boot if you then don't >> use it. > legacy_bootfile env variable actually points to uImage, so it is being > used but not clear, i can explicitly setenc legacy_bootfile to uImage to > show it. I mean that you're not using U-Boot itself. The defconfig builds U-Boot, but the instructions in the readme only explain how to use the kernel and rootfs. They assume that you're using the U-Boot in flash. Regards, Arnout
On Friday 17 February 2017 01:11 PM, Arnout Vandecappelle wrote: > > On 17-02-17 08:05, Abhimanyu V wrote: >>> The instructions don't mention what to do with the U-Boot binary that was >>> generated by the defconfig. It's a bit useless to build U-Boot if you then don't >>> use it. >> legacy_bootfile env variable actually points to uImage, so it is being >> used but not clear, i can explicitly setenc legacy_bootfile to uImage to >> show it. > I mean that you're not using U-Boot itself. The defconfig builds U-Boot, but > the instructions in the readme only explain how to use the kernel and rootfs. > They assume that you're using the U-Boot in flash. Ok got it, i will have section explaining new u-boot binary flashing. > > Regards, > Arnout Regards Abhimanyu V
diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt new file mode 100644 index 0000000..8ce7ed8 --- /dev/null +++ b/board/ci40/readme.txt @@ -0,0 +1,49 @@ +********************* +* MIPS Creator CI40 * +********************* + +The 'ci40_defconfig' will create a root filesystem and a kernel image +under the 'output/images/' directory. This document will try to explain how +to use them in order to run Buildroot in the MIPS Creator CI40 board. + +The current bootloader by default boot fitImage, so we would need to create +command to be able to boot from uImage. Assuming you are at the U-Boot prompt +of the MIPS Creator CI40, you can use following way to boot. + +Booting from network (nfsboot) +------------------------------ + pistachio # setenv netboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $netroot nfsroot=$serverip:$rootpath $bootextra $mtdparts;dhcp $loadaddr $legacy_bootfile; dhcp $fdtaddr $fdtfile;' + + pistachio # run netboot_legacy + + It will set variable to boot from tftp server and uses nfsroot + +Booting from USB/MMC +-------------------- +Extract the generated root filesystem, uImage and dtb file into a USB drive +or SD-Card. Here you have the instructions to boot from the two of them. +You have to choose the one your prefer: + +From USB + pistachio # setenv usbboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $usbroot $bootextra $mtdparts;usb start;ext4load usb $usbdev $fdtaddr $bootdir$fdtfile;ext4load usb $usbdev $loadaddr $bootdir$legacy_bootfile;' + + pistachio # run usbboot_legacy + +From SD-Card + pistachio # setenv mmcboot_legacy 'sf probe 1:0;mtdparts default;setenv bootargs $console $earlycon $mmcroot $bootextra $mtdparts;setenv verify n;mmcinfo; mmc dev $mmcdev;ext4load mmc $mmcdev $fdtaddr $bootdir$fdtfile;ext4load mmc $mmcdev $loadaddr $bootdir$legacy_bootfile;' + + pistachio # run mmcboot_legacy + +Finally boot from the loaded file: + + pistachio # bootm $loadaddr - $fdtaddr; + + +Online docs +----------- +mostly for openwrt but it also applicable on buildroot +https://docs.creatordev.io/ci40/guides/openwrt-platform/#overview + +Prebuilt uboot +-------------- +http://downloads.creatordev.io/?q=u-boot/ diff --git a/configs/ci40_defconfig b/configs/ci40_defconfig new file mode 100644 index 0000000..5363347 --- /dev/null +++ b/configs/ci40_defconfig @@ -0,0 +1,27 @@ +BR2_mipsel=y +BR2_mips_32r2=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS=y +BR2_TARGET_GENERIC_HOSTNAME="Ci40" +BR2_TARGET_GENERIC_ISSUE="Welcome to Ci40" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_SYSTEM_DHCP="eth0" +BR2_ENABLE_LOCALE_WHITELIST="C en_US en_GB" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/CreatorDev/linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="2319a2476a2bc0c582a9811cd45a6fa3c0beba37" +BR2_LINUX_KERNEL_DEFCONFIG="pistachio" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="img/pistachio_marduk" +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_UCCP420WLAN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="pistachio_marduk" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/CreatorDev/u-boot/archive/v1.0.4.tar.gz" +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-pistachio_marduk-2015.10-v1.0.4.img"