OpenSUSE JeOS bringup

Материал из Toshiba AC100 wiki
Перейти к навигации Перейти к поиску

Brief guide how to add target to openSUSE:Factory:ARM:JeOS

Get source code

  • Install osc
    # zypper in osc
  • Branch or copy openSUSE:Factory:ARM:JeOS project
    $ osc bco openSUSE:Factory:ARM JeOS
  • Disable building of all images in your JeOS branch

Add new target

  • Modify config.sh
    • Add contrib repo if required for downstream kernel/u-boot or addititional rpms (optional)
    • Add additional modules to include to initrd file (optional)
  • Modify pre_checkin.sh
    • add target name to armv7_jeos_images, optional to armv7_gfx_images
      • jeos image contain only rootfs with main packages and gfx image also contain various desktop enviroments
  • Modify Images.kiwi.in (input file for specific configs generation)
    • add target flavor #elif IS_FLAVOR_paz00
      +#elif IS_FLAVOR_paz00
      +#  define BOOTKERNEL default
      +#  define KERNEL_CMDLINE_SER "plymouth.enable=0 console=ttyS0,115200n8 console=tty"
      +#  define KERNEL_CMDLINE_GFX "plymouth.enable=0 console=ttyS0,115200n8 console=tty"
      +#  define EXTRA_PACKAGES PKG_BOOT_TAG(u-boot-paz00) \
      +                         PKG_BOOT_TAG(dtb-tegra2)
      
      • BOOTKERNEL var defines kernel name to use, for example default or lpae for upstream openSUSE Factory kernels
      • PKG_BOOT_TAG var defines u-boot rpm package name which contain board dtb file and name of rpm of u-boot itself for the board
    • add additional repo
      +#if IS_FLAVOR_paz00
      +        <repository type="rpm-md" priority="5">
      +                <source path="obs://devel:ARM:Factory:Contrib:Tegra/standard"/>
      +        </repository>
      +#endif
      
      • packages in higher priority repo will go before default factory repo ones
  • Modify uboot-image-setup.in
    • add target case case $flavor in paz00)
      +  paz00)
      +    kerneladdr=0x1000000
      +    ramdiskaddr=0x2200000
      +    fdtaddr=0x2000000
      +    should_use_fdt=1
      +    should_load_fdt=1
      +    units="1 0"
      +    bootdevs="mmc usb"
      +    fdtfile=dtb/tegra20-paz00.dtb
      +    ;;
      
      • Define variables which openSUSE common boot.scr script will use
  • Create uboot-setup-paz00.tgz
    • copy any of existing ones
      cp uboot-setup-panda.tgz uboot-setup-paz00.tgz
      • it will be overriten with pre_checkin.sh script
  • run pre_checkin.sh to generate specific configs for all boards
    sh ./pre_checkin.sh
  • run build of JeOS-paz00.kiwi
 osc build images armv7l JeOS-paz00.kiwi 
  • Submit patch with new target to upstream Jeos project

Todo

  • Find some way to install u-boot with kiwi
  • Find some way to update u-boot with kiwi

Test results