OpenSUSE Build service howto

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

Small openSUSE ac100 howto

Some general things

openSUSE ARM board rootfs images are made by KIWI image system (JeOS = Just Enough Operating System) @https://en.opensuse.org/Portal:KIWI

openSUSE use OBS (Open Build Service) system for continous integration of packages and images. @https://en.opensuse.org/OBS OBS look very similar to git but also include build functions, requests and etc.

openSUSE OBS lives here @https://build.opensuse.org/

OBS have console tool osc

To include some programm or files into future rootfs image you need to create obs package for it.


Create custom JeOS package

  • JeOS custom package must contain _link to main JeOS package.
    • If you create package for new board, branch openSUSE:Factory:ARM JeOS to your home and init new package inside it
  • .kiwi scipts inside JeOS package are autogenerated using script pre_checkin.sh
  • Board specific configs inside JeOS package live in:
    • config.sh
      • Board name and which JeOS flavour will be builded simple or with x and wdm.
    • Images.kiwi.in
      • Here you define additional repos for board, kernel cmdline, u-boot and dtb.
    • uboot-image-setup.in
      • U-Boot kernel loading parameters
    • uboot-image-install.in
      • bootloader update script
  • Build localy obs custom jeos package
    • osc build images armv7l
    • may with various binaries not found, check osc meta prjconf it must be same as originate project config.


Create obs packages

  • Init new package
$ osc meta pkg -e home:<username> <packagename>
$ osc up home:<username>
  • Create .spec file and .changes file
  • Test build localy
    • example
    • osc build --alternative-project=openSUSE:Factory:ARM qemu armv7l <.spec file name>
  • If it builds fine commit to obs and request to include to upstream