Hi all, Today I've successfully built CoreOS@ppc64le and booted this CoreOS from KVM.
Hi @Brandon Philips @Michael Marineau el at, Could you help me to review the patches/PRs sent by Leno Hou ? PRs [1] https://github.com/coreos/scripts/pull/584 [2] https://github.com/coreos/chromite/pull/22 [3] https://github.com/coreos/coreos-overlay/pull/2174 This is localhost (Linux ppc64le 4.5.2-coreos) 16:18:39 SSH host key: SHA256:ofvwp1DXD6w9KF+CQbM246QR9zVS71wf4oZmyuBbpkk (DSA) SSH host key: SHA256:oGPzkR/jXLvUzPufWMx/suYGlYgPSEBr46gkdsvrhtc (ECDSA) SSH host key: SHA256:Oc56kbJjAUXIA0+R+qT07MeY3sWiejYdLgCPSWJAR1E (ED25519) SSH host key: SHA256:sK80vQ0emdXP/0czIPrQgGpUqX1OJQgtiQ7S3r5Cmfo (RSA) eth0: localhost login: core Password: Last login: Wed Sep 7 16:17:00 2016 on hvc0 CoreOS developer (1032.0.0+2016-09-07-1456) -bash: wc: command not found Failed Units: initrd-setup-root.service systemd-tmpfiles-setup.service core@localhost ~ $ cat /etc/os-release NAME=CoreOS ID=coreos VERSION=1032.0.0+2016-09-07-1456 VERSION_ID=1032.0.0 BUILD_ID=2016-09-07-1456 PRETTY_NAME="CoreOS 1032.0.0+2016-09-07-1456 (MoreOS)" ANSI_COLOR="1;32" HOME_URL="https://coreos.com/" BUG_REPORT_URL="https://github.com/coreos/bugs/issues" *Leno Hou* E-mail : [email protected] On Wed, Sep 7, 2016 at 2:30 PM, Leno Hou <[email protected]> wrote: > > On Wed, Sep 7, 2016 at 2:06 PM, Qing Yuan QQ Hou <[email protected]> > wrote: > >> Hi all, >> >> I concluded the status for ppc64le port of CoreOS yesterday. Questions >> is with colour in red. >> >> @Michael, Could you help me the parts that with colour in red ? Thanks >> >> >> 1. make CoreOS working on ppc64le kvm >> WIP >> >> a) modified cros_sdk working on ppc64le platform >> DONE >> >> As we might known, the SDK must be run on an x86-64 Linux >> machine. >> >> For arm64, this cros_sdk cross build packages for arm64 >> platform. >> >> For amd64, this cros_sdk local build packages for amd64 >> platform. >> >> >> >> This modified cros_sdk add support for ppc64le platform and >> lately I’ll >> >> push these patches for you to review. >> >> >> >> a) compiled CoreOS and Gentoo packages >> DONE >> >> Most packages were written by C/C++/golang languages and these >> languages >> >> fully supports ppc64le platform. so all packages were built >> successfully. >> >> >> >> b) making CoreOS booting from KVM >> ONGOING >> >> This divides three parts: >> >> a) prepare disk layout for ppc64le platform >> DONE >> >> >> Note: please don't set EFI System partition attributes to >> LegacyBIOS Bootable. >> >> b) installing default grub2 bootloader to PowerPC PReP boot >> partition >> >> >> #sudo grub-install \ >> >> --no-nvram --no-bootsect \ >> >> --boot-directory="${ESP_DIR}/boot" "${LOOP_DEV}p2" >> >> >> #sudo cp "${BUILD_LIBRARY_DIR}/grub.cfg" \ >> >> "${ESP_DIR}/boot/grub/grub.cfg" >> >> c) booting from vmlinuz and initrd >> grub2.cfg pass cmdline args to kernel initrd. >> Then sysroot.mount and sysroot-usr.mount >> detected this cmdline args and mount the disk with LABEL=root >> to "/sysroot" and disk label with >> LABEL=USR-A to "/sysroot/usr". Lastly switch-root to /sysroot >> as CoreOS environment. >> >> See below. Does any problem with sysroot-usr.mount or >> grub2.cfg cmdline args? >> >> grub.cfg: >> >> >> menuentry "CoreOS USR-A" --id=coreos-a { >> >> linux$suf /coreos/vmlinuz-a @@MOUNTUSR@@=PARTLABEL=USR-A >> $linux_cmdline >> >> initrd /coreos/initramfs-4.4.6-gentoo.img >> >> } >> >> boot log: >> >> >> [ OK ] Found device /dev/disk/by-label/ROOT. >> >> [ OK ] Started dracut initqueue hook. >> >> [ OK ] Reached target Remote File Systems (Pre). >> >> [ OK ] Reached target Remote File Systems. >> >> Starting File System Check on /dev/disk/by-label/ROOT... >> >> [ OK ] Started File System Check on /dev/disk/by-label/ROOT. >> >> Starting File System Check on /dev/disk/by-label/ROOT... >> >> Mounting /sysroot... >> >> [ OK ] Started File System Check on /dev/disk/by-label/ROOT. >> >> [ 0.690207] EXT4-fs (vda9): mounted filesystem with ordered data mode. >> Opts: (null) >> >> [ OK ] Mounted /sysroot. >> >> [ OK ] Reached target Initrd Root File System. >> >> Starting Reload Configuration from the Real Root... >> >> Mounting /sysroot/usr... >> >> [ OK ] Started Reload Configuration from the Real Root. >> >> [FAILED] Failed to mount /sysroot/usr. >> >> See 'systemctl status sysroot-usr.mount' for details. >> >> [DEPEND] Dependency failed for Initrd File Systems. >> >> [ OK ] Stopped target Basic System. >> >> [ OK ] Stopped target System Initialization. >> >> Starting Setup Virtual Console... >> >> Starting Cleaning Up and Shutting Down Daemons... >> >> [ OK ] Started Setup Virtual Console. >> >> Starting Emergency Shell... >> >> [FAILED] Failed to start Cleaning Up and Shutting Down Daemons. >> >> See 'systemctl status initrd-cleanup.service' for details. >> >> >> >> Generating "/run/initramfs/rdsosreport.txt" >> >> >> >> >> >> Entering emergency mode. Exit the shell to continue. >> >> Type "journalctl" to view system logs. >> >> You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick >> or /boot >> >> after mounting them and attach it to a bug report. >> >> >> >> >> >> :/# >> >> > Attached the sysroot-usr.mount status in here. > > :/# systemctl status sysroot-usr.mount > > ● sysroot-usr.mount - /sysroot/usr > > Loaded: loaded (/proc/cmdline; generated; vendor preset: enabled) > > Active: failed (Result: exit-code) since Wed 2016-09-07 05:58:42 UTC; > 27min a > > Where: /sysroot/usr > > What: /dev/disk/by-label/ROOT > > Docs: man:fstab(5) > > man:systemd-fstab-generator(8) > > > Sep 07 05:58:42 localhost systemd[1]: Mounting /sysroot/usr... > > Sep 07 05:58:42 localhost mount[263]: mount: /dev/vda9 is already mounted > or /sy > > Sep 07 05:58:42 localhost mount[263]: /dev/vda9 is already mounted > on /sy > > Sep 07 05:58:42 localhost systemd[1]: sysroot-usr.mount: Mount process > exited, c > > Sep 07 05:58:42 localhost systemd[1]: Failed to mount /sysroot/usr. > > Sep 07 05:58:42 localhost systemd[1]: sysroot-usr.mount: Unit entered > failed sta > > Warning: sysroot-usr.mount changed on disk. Run 'systemctl daemon-reload' > to rel > > lines 1-15/15 (END) > > > > >> >> Best Regards, >> >> Leno Hou >> >> >> >> ----- Original message ----- >> From: Michael Marineau <[email protected]> >> To: coreos-dev <[email protected]> >> Cc: Brandon Philips <[email protected]>, Qing Yuan QQ >> Hou/China/IBM@IBMCN, Qu KK Jiang/China/IBM@IBMCN, Liang NS >> Zhuang/China/IBM@IBMCN >> Subject: Re: ppc64le port of CoreOS >> Date: Tue, Jul 19, 2016 2:50 AM >> >> The file src/scripts/build_library/disk_layout.json will need new >> entries. For dev images copy the the "devel" layout, adding an entry to >> override partition 2 (BIOS BOOT), changing its type to the PReP GUID (the >> partitioning tool, cgpt, doesn't have a built in name for that type right >> now but the raw guid should work, I hope). You may need to adjust the size >> too. For prod images add an entry that only contains your new partition 2. >> Anything not defined is inherited from the "base" layout. Then >> pass --disk_layout= to build_image and image_to_vm. Actually setting up the >> bootloader should go in src/scripts/build_library/grub_install.sh >> >> I don't know anything about booting PPC but I'd recommend keeping the >> PReP partition as simple/small as possible with most things in the larger >> ESP partition for consistency with other platforms. >> >> On Mon, Jul 18, 2016 at 4:36 AM, Leno Hou <[email protected]> wrote: >> >> Hi all, >> >> This is the updated CoreOS@ppc64le status for you and I need your help >> about bootloader partition. >> >> 1. Gentoo hosted ppc64le patches on Gentoo ppc64le overlay >> <https://cgit.gentoo.org/repo/proj/ppc64le.git/> >> 2. The coreos@ppc64le repo manifest <https://github.com/houstar/manifest> >> was pushed in github >> 3. All CoreOS production packages was built successfully. >> >> >> coreos-build@gentoo /mnt/host/source/src/build/images/ppc64l >> e-usr/developer-1032.0.0+2016-07-18-0550-a1 $ ls >> >> configroot coreos_developer_image.bin coreos_developer_qemu.README >> coreos_developer_qemu.sh coreos_developer_qemu_image.img >> developer_data rootfs >> >> 4. This coreos_developer_qemu_image.img can't boot. This problem was due >> to ppc64le doesn't support UEFI and must have PReP partition for boot. >> >> For example, manually configure boot loader >> >> 1) Disk Partition >> device size Id Type >> /dev/vda1 8M PPC PReP Boot >> /dev/vda2 10G Linux >> /dev/vda3 2G Linux Swap / Solaris >> >> 2) using genkernel-next build kernel and initrd >> #genkernel --all >> >> 3) installing bootloader >> #grub2-install /dev/vda1 >> >> 4) generating grub.cfg >> #grub2-mkconfig /boot/grub/grub.cfg >> >> grub2 platform on ppc64le is powerpc-ieee1275 >> >> >> How to automatically range this disk partition use CoreOS SDK to support >> boot from qcow2 disk image ? Thanks. >> >> >> *Leno Hou* >> E-mail : [email protected] >> >> >> On Sun, Jun 5, 2016 at 9:44 PM, Liang NS Zhuang <[email protected]> >> wrote: >> >> Brandon, it was a nice talk, thanks for the time! >> >> Hello team, if necessary, we could later help to apply resource on >> SuperVessel (which is a Power/OpenPOWER cloud) for test.. >> http://www-03.ibm.com/press/us/en/pressrelease/47082.wss >> >> >> Regards, >> Liang ZHUANG (庄亮, Leon), PMP, CSM >> Manager, Linux Dev, LTC/IBM System, CSTL/SH >> Ext. 86-21-609-28548 >> >> >> [image: Inactive hide details for Brandon Philips ---06/03/2016 >> 11:46:28---Hello Everyone- I wanted to introduce Leno and team who >> are]Brandon >> Philips ---06/03/2016 11:46:28---Hello Everyone- I wanted to introduce Leno >> and team who are working on a ppc64le port of >> >> From: Brandon Philips <[email protected]> >> To: coreos-dev <[email protected]>, Leno Hou <[email protected]>, >> Qing Yuan QQ Hou/China/IBM@IBMCN, Liang NS Zhuang/China/IBM@IBMCN, Qu KK >> Jiang/China/IBM@IBMCN >> Date: 06/03/2016 11:46 >> Subject: ppc64le port of CoreOS >> ------------------------------ >> >> >> >> Hello Everyone- >> >> I wanted to introduce Leno and team who are working on a ppc64le port of >> many of the ebuilds required by CoreOS over here: >> *https://github.com/linux-on-power/gentoo* >> <https://github.com/linux-on-power/gentoo> >> >> I talked to them on a hangout for a bit and the overall plan for this >> port, which they want to do the maintenance of, includes: >> >> - Waiting for all of the "second architecture" stuff to finish for ARM >> - Test out rkt/update_engine and some other pieces that are becoming >> easier to cross compile from the above work >> - Continue to work upstream to merge the 12 or so patches required for >> Gentoo >> - Generate and distribute an unofficial PPC64LE CoreOS SDK >> - Help get the SDK and build into the CoreOS build system over the next 6 >> months or so >> >> If anyone can help out on this stuff it would be great but it sounds like >> Leno and team are making great progress so far. >> >> Cheers, >> >> Brandon >> >> >> >> >> >> [image: [email protected]] >> [image: [email protected]][image: >> [email protected]] >> >> >
