TODO

From Funtoo Linux
Revision as of 06:32, 27 May 2011 by Drobbins (Talk)

Jump to: navigation, search

Contents

May 2011 TODO

Debug this boot-update feature

Note: One thing to fix - - this user should use params = instead of params +=. That should get rid of the multiple root= entries. It still looks like there is a bug here for me to fix though.

Hi Daniel, one of my Funtoo-Quebec users(Mathieu Tarral) is testing boot-update 1.5.2 with the multi-distro support that I requested a while ago.

I found 2 bugs when I was helping him debugging his current setup.

1. The found scan doesn't mount automatically before doing the scan if necessary.

2. The linux entry is invalid when the scan fonction works, because it return the mount point instead of the / or /boot with the kernel name.

  Finally, the root param is there twice too.

His current setup :

    /dev/sda9               none            swap            sw              0 0
    /dev/sda7               /               ext4            noatime         0 1
    /dev/sda8               /home           ext4            defaults        0 2
    /dev/cdrom              /mnt/cdrom      auto            noauto,ro       0 0
    
    /dev/sda5   /mnt/kubuntu        ext4    users,defaults,noauto,noatime 0 5
    /dev/sda6   /mnt/archlinux      ext4    users,defaults,noauto,noatime 0 6
    
    #windows 7
    /dev/sda2   /media/windows      ntfs    users,defaults,uid=1000,gid=1000        0 7

His mount after mounting his stuff :

    rootfs on / type rootfs (rw)
    /dev/sda7 on / type ext4 (rw,noatime,commit=0)
    proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
    rc-svcdir on /libexec/rc/init.d type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755)
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
    udev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755)
    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
    shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
    fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
    /dev/sda8 on /home type ext4 (rw,commit=0)
    /dev/sdb1 on /media/Data type ext4 (rw,commit=0)
    usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
    /dev/sda2 on /media/windows type ntfs (ro,noexec,nosuid,nodev,uid=1000,gid=1000)
    /dev/sdc1 on /media/Tera Externe type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)
    /dev/sda6 on /mnt/archlinux type ext4 (rw,noexec,nosuid,nodev,noatime)
    /dev/sda5 on /mnt/kubuntu type ext4 (rw,noexec,nosuid,nodev,noatime)

His /etc/boot.conf :


    boot {
            generate grub
            default "Funtoo Linux"
            timeout 10
    }

    "Funtoo Linux" {
            kernel bzImage[-v]
    }

    "Funtoo Linux genkernel" {
            kernel kernel[-v]
            initrd initramfs[-v]
            params += real_root=auto
    }


    "Windows 7" {
            type win7
            params root=/dev/sda1
    }

    "Archlinux" {
            scan /mnt/archlinux/boot
            kernel vmlinuz26[-v]
            initrd kernel26.img
            params += root=/dev/sda6
    }

    "Kubuntu" {
            scan /mnt/kubuntu/boot
            kernel vmlinuz[-v]
            initrd initrd.img[-v]
            params += root=/dev/sda5
    }

The execution :

boot-update 1.5.2 / Copyright 2009-2011 Funtoo Technologies

[use option "-l" for license info, "-h" for help]

* Generating config for grub...

* No /etc/fstab entry for /boot; not mounting.
* Validating config file /boot/grub/grub.cfg
* Backing up original config file to /boot/grub/grub.cfg.old
* Writing new config file to /boot/grub/grub.cfg
* Done.
DEFAULT > Kubuntu - vmlinuz-2.6.35-25-generic
           Kubuntu - vmlinuz-2.6.35-27-generic
           Archlinux - vmlinuz26
           Funtoo Linux genkernel - kernel-genkernel-x86_64-2.6.38-gentoo
           Windows 7

* WARN : No boot/default match found - using first boot entry by default.
* Configuration file /boot/grub/grub.cfg generated - 50 lines.
* Completed successfully with warnings.

The result :

# cat /boot/grub/grub.cfg
    set timeout=10

    menuentry "Kubuntu - vmlinuz-2.6.35-25-generic" {
      insmod part_msdos
      insmod ext2
      set root=(hd0,5)
      search --no-floppy --fs-uuid --set ea51ad64-c946-4a66-96d9-8b77929a1490
      linux /mnt/kubuntu/boot/vmlinuz-2.6.35-25-generic root=/dev/sda5 root=/dev/sda7 rootfstype=ext4
      initrd /mnt/kubuntu/boot/initrd.img-2.6.35-25-generic
      set gfxpayload=keep
    }

    menuentry "Kubuntu - vmlinuz-2.6.35-27-generic" {
      insmod part_msdos
      insmod ext2
      set root=(hd0,5)
      search --no-floppy --fs-uuid --set ea51ad64-c946-4a66-96d9-8b77929a1490
      linux /mnt/kubuntu/boot/vmlinuz-2.6.35-27-generic root=/dev/sda5 root=/dev/sda7 rootfstype=ext4
      initrd /mnt/kubuntu/boot/initrd.img-2.6.35-27-generic
      set gfxpayload=keep
    }

    menuentry "Archlinux - vmlinuz26" {
      insmod part_msdos
      insmod ext2
      set root=(hd0,6)
      search --no-floppy --fs-uuid --set 974dd00d-cc64-4976-b3b2-343c7cba5089
      linux /mnt/archlinux/boot/vmlinuz26 root=/dev/sda6 root=/dev/sda7 rootfstype=ext4
      initrd /mnt/archlinux/boot/kernel26.img
      set gfxpayload=keep
    }

    menuentry "Funtoo Linux genkernel - kernel-genkernel-x86_64-2.6.38-gentoo" {
      insmod part_msdos
      insmod ext2
      set root=(hd0,7)
      search --no-floppy --fs-uuid --set 4471030c-d546-417f-bb19-2894097bed00
      linux /boot/kernel-genkernel-x86_64-2.6.38-gentoo real_root=/dev/sda7
      initrd /boot/initramfs-genkernel-x86_64-2.6.38-gentoo
      set gfxpayload=keep
    }

    menuentry "Windows 7" {
      insmod part_msdos
      insmod ntfs
      set root=(hd0,1)
      search --no-floppy --fs-uuid --set c49a2d649a2d5468
      chainloader +4
    }
    set default=0

For his concern, he expected to have this :

    menuentry "Kubuntu - vmlinuz-2.6.35-25-generic" {
      insmod part_msdos
      insmod ext2
      set root=(hd0,5)
      linux /boot/vmlinuz-2.6.35-25-generic root=/dev/sda5 rootfstype=ext4
      initrd /boot/initrd.img-2.6.35-25-generic
      set gfxpayload=keep
    }

    menuentry "Kubuntu - vmlinuz-2.6.35-27-generic" {
      insmod part_msdos
      insmod ext2
      set root=(hd0,5)
      linux /boot/vmlinuz-2.6.35-27-generic root=/dev/sda5 rootfstype=ext4
      initrd /boot/initrd.img-2.6.35-27-generic
      set gfxpayload=keep
    }

    menuentry "Archlinux - vmlinuz26" {
      insmod part_msdos
      insmod ext2
      set root=(hd0,6)
      linux /boot/vmlinuz26 root=/dev/sda6 rootfstype=ext4
      initrd /mnt/boot/kernel26.img
      set gfxpayload=keep
    }

Daniel, it's not a big deal, because he changed the linux path and now it's working good, until the next time that he run boot-update :P


April 2011 TODO

For April 2011, I want the Core Team to start messing with the Funtoo 1.0 profile and getting it ready for use. I have a new alpha-quality profile tree profiles/funtoo/1.0/linux-gnu/ that needs some love. The older Funtoo 1.0 profile is still there but the tree in profiles/funtoo/1.0/linux-gnu/ is what I want to work on and refine and get production-ready.

Overhauling ebuilds - Core Team members who have completed their initial training of moving one key ebuild from masked to testing to current to stable can now proceed with the next step of the Core Team training - overhauling an ebuild. The way this works is that you find an ebuild that is a key part of Funtoo, but not too dangerous to improve (not gcc, glibc, etc.) and you look at all open Gentoo bugs for the ebuild. You try to fix as many as you can. Then you also look at ways to make the ebuild more elegant and simpler, so it is easier to maintain. You also look at Debian and maybe even CentOS packages for potential fixes that Gentoo is missing, and consider adding them to Funtoo. The idea here is to get an ebuild into top shape with all open bugs fixed, and to really spend some quality time making a particular ebuild a shining example of Funtoo. There is also a competitive aspect - we want to offer the best ebuilds we can. Details are important.

To start this overhauling process, find an ebuild you would like to work on and chat with Daniel about it.

Updating Ebuilds

For information on how to update ebuilds, see Updating Ebuilds.

The Fundamentals

Distros get better by focusing on the fundamentals. We'll be focusing on the install experience for a while, until it is great. The tasks below reflect this. If you have other ideas on how to improve the installation process, we're certainly open to them.

Test Installs

I need people to test a Funtoo install from stage3, and note any problems. We do this for several reasons - first, to identify bugs that we should fix; second, to identify weird issues that are not bugs but are areas that should be improved, and third, to look for general improvements to the install process, such as improving default config files, etc. which could result in a simpler install process. If you want, you can document your experiences on the wiki, here: Usability Testing.

Funtoo Quick Install Guide

We need to wrap up the Funtoo Quick Install Guide. I have edited quite a bit to get things simpler. GPT/GUID should be the default partitioning method. The instructions should be easy to understand and uncomplicated.

Genkernel Install

The Quick Install Guide should document how to install a kernel using genkernel. Right now, the funtoo-quebec guide shows manual kernel building which is not "quick". We should offer a genkernel option so that people who want a truly quick install can do it. [404 Error]

Default Kernel Sources/Binaries

We need to identify a default "desktop/general-purpose" kernel source tree as well as a general "server" kernel source tree that we need to offer as defaults to end-users. I encourage all core team members to look into this, and offer their suggestions, and start playing around here. Ideally these kernels should be relatively modern, but also leverage existing well-tested source trees so we get to leverage the testing that other distributions have performed, and benefit from their QA.

Personal tools
Namespaces

Variants
Actions
Categories
Toolbox
Stuff