OpenSUSE Build service howto
Перейти к навигации
Перейти к поиску
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
- config.sh
- 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
Copy specific revision of package to new package
- Use copypac to copy package to another package
$ osc copypac -d -r f05d4987cefd8870ecbfcde9bdc554bd security:logging elasticsearch home:zombah:test elasticsearch2