r1k0 / kicktoo

a Portage installer/profiler based on quickstart from agaffney
1 stars 0 forks source link

extended partition errors #4

Closed novikane closed 11 years ago

novikane commented 11 years ago

anyone having issues with extended partitions using the part functions?

vm test log: http://pastebin.com/iefJPJrA

r1k0 commented 11 years ago

Not to my knowledge. I know there's an issue with LVM profile if you want to dual boot that's all.

Is there a way I can reproduce the error in my VM?

r1k0 commented 11 years ago

could you attach your profile? I'll test it at home.

r1k0 commented 11 years ago

try adding a partprobe here or there if that helps. If you reran/resumed the profile that might be a device not freed. That being said, there is anyway need for tweaking the way partitioning works

novikane commented 11 years ago

this is the part of the profile that is giving the error, the rest is just like an ordinary fs install, no lvm/mdadm: part sda 1 83 128M part sda 2 82 2G part sda 3 83 8G part sda 4 5 part sda 5 83 9G part sda 6 83 +

originally i had the line: part sda 4 5 + which i thought was the issue, but it seems even blanked, the problem persists for me.

these are on first boot runs, before anything had been mounted, testing with a clean hd and a pre probed partition table: same errors.

r1k0 commented 11 years ago

ok, thanks, will work it out asap. I think you've hit the same wall I did with the LVM profile. the LVM profile works but it's not possible to dual boot or even create an extra partition. keep you posted.

On 02-04-2013 22:35, novikane wrote:

this is the part of the profile that is giving the error, the rest is just like an ordinary fs install, no lvm/mdadm: part sda 1 83 128M part sda 2 82 2G part sda 3 83 8G part sda 4 5 part sda 5 83 9G part sda 6 83 +

originally i had the line: part sda 4 5 + which i thought was the issue, but it seems even blanked, the problem persists for me.

these are on first boot runs, before anything had been mounted, testing with a clean hd and a pre probed partition table: same errors.

Reply to this email directly or view it on GitHub [1].

Links:

[1] https://github.com/r1k0/kicktoo/issues/4#issuecomment-15800802

r1k0 commented 11 years ago

just wondering...

What if you use GPT instead (gpart instead of part)? would using gpt solve the issue?

r1k0 commented 11 years ago

gptpart sda 1 8300 100M gptpart sda 2 ef02 32M # for GPT/GUID only gptpart sda 3 8200 2048M gptpart sda 4 8300 +

will reproduce your error (but I think I know what's the problem) And I will try using GPT and see if your mapping works or not, just for the curiosity.

Will fix 'part' too, but that might take longer since I'v been lazy on this topic for a while.

r1k0 commented 11 years ago

adapting your mapping to gptpart works! That's good news :) but that doesn't help you probably lol

I think it's a 'primary/extended' type of issue.

will look at it

novikane commented 11 years ago

I was just doing some testing for completeness and stumbled across this snag, I rarely use the extended partition setups and was just curious if anyone else had hit this bug too or maybe you had a quick fix in mind.. I have a few other projects I am currently working on otherwise I would have just jumped on it, didn't mean to distract you from your other priorities. all in all gpt seems to be replacing the mbr partitions these days anyway

r1k0 commented 11 years ago

Hello, No worries, I'll take care of it, it's option tweaking type of issue. Will see what I can do, maybe this weekend or later Thanks alot for the feedback ;o)

On 04-04-2013 08:29, novikane wrote:

I was just doing some testing for completeness and stumbled across this snag, I rarely use the extended partition setups and was just curious if anyone else had hit this bug too or maybe you had a quick fix in mind.. I have a few other projects I am currently working on otherwise I would have just jumped on it, didn't mean to distract you from your other priorities. all in all gpt seems to be replacing the mbr partitions these days anyway

Reply to this email directly or view it on GitHub [1].

Links:

[1] https://github.com/r1k0/kicktoo/issues/4#issuecomment-15881774

r1k0 commented 11 years ago

Now that I give it some thoughts, I'm wondering how "rude" it would be to just use 'gptpart' on gentoo profile by default. 'part' will remain but GPT would be prefered. This primary/extended subtility is too much heritage I think. I've never used GPT on gentoo, only funtoo and they have it by default. Will tweak some profiles and see if I could move default profiles to GPT instead.

novikane commented 11 years ago

i didnt think to test if gptpart hit the same snag, good idea.. the only issue i can think of off the top of my head is legacy grub not able to handle a gpt partitioned drive (unless patched) and what has my vote, for completeness, to get the mbr partitioning to work with extendeds.... which brings me to a couple of personal additions in mind for kicktoo, which i plan to share upstream once stable and outlined below:

r1k0 commented 11 years ago

well, that's what I thought, so I've tested it using the gentoo-kbin.profile and made like 5/6 partitions using GPT and trying to boot it with kbin. It all works, the only glitch are a couple of initramfs modules that have a glibc violation somehow, but it boots and I can login etc....

gentoo-kbin.profile pulls grub1, so was my surprise to see default stable gentoo work with a GPT partitioning with grub1!

that being said, I think it'd be better if I indeed created GPT profile out of the default ones BUT I should be trying to fix the primary/extended issue for the sake of legacy/completeness.

That will take time, as I'm a bit lazy in these days and quite busy at work. I'll work on it, just no sure when :)

r1k0 commented 11 years ago

now that you put me the dialog layer in mind, it's going to be stuck in my head (which is a good thing :) Having a dialog layer would be a HUGE step forward to widen the range of users.

The first thing that comes to mind as a start would be:

Great idea, will throw some code during my next chilling session :)

r1k0 commented 11 years ago

to remind me what needs to be done:

"A maximum of four primary partitions can be placed on any hard disk. The limitation of four is one that is imposed on the system by the way that the master boot record is structured. Only one partition may be designated, at any given time, as active. That partition will be used for booting the system. One of the four partitions may be designated as an extended DOS partition. This partition may then be subdivided into multiple logical partitions. Extended partitions allow for multiple "logical" drives. You can have up to 24 drives in your extended partition (26 letters of the alphabet but A and B are reserved for floppy drives). By default, extended partitions are NOT bootable. Therefore you cannot put an OS on it." from raymond

I guess I'll have to pass an extra parameter to 'part' that sets primary or extended and code the above into partition.sh

https://fs.hlrs.de/projects/craydoc/docs/books/S-2444-31/html-S-2444-31/appendix-ltgg1w0c-ebishop.html

http://www.redhat.com/archives/valhalla-list/2003-April/msg00337.html

will do

novikane commented 11 years ago

I definitely thought it would be an excellent extension to kicktoo also. An interactive and automated installer was something that gentoo has been missing for while now(been using gentoo even back when stage1/2 installs were the norm) and it has actually been on my personal TODO list for a while now. I planned on having a separate front end script that will deal with drawing the dialogs and their logic, loading all the related/needed modules from the modules/ directory. The dialog install script would have flags or options for profile generation only or interactively installs and runs the appropriate functions as it asks you questions for each step, maybe even an option to generate the profile first then execute kicktoo on the newly generated profile.

Some what related but might be of interest: Many of my other projects are gentoo related as well, anywhere from a portage specific chroot manager (similar to schroot) for tinderbox testing, package creation and release building so you dont have to mess with your running systems stability, which I am currently working on integrating those functions into a catalyst replacement I have for automated release building.(i abandoned catalyst almost a year ago when it would fail on successes and many other code engineering issues i have with the project). I currently just use many of these projects for in-house administration and releases but I might offer releases to the public eventually (especially since the gentoo releases have been hit or miss lately, i686 doesnt even show up these days, and the amd64/x86 releases were not updated since mid dec of 2012 before that)...i wanted to ship my public livecds and stages with some of your tools i.e kicktoo/kigen and many of my tools/patches. I don't really want to start a distro or fork of gentoo, I would just like to clean up the cruft that has been creeping in lately

r1k0 commented 11 years ago

./kicktoo -g|--graphics would start the dialog interface guiding the user through the profile variables settings (smart and easy design is hard - most work up front is here, in the dialog successive sequence). It's gotta be so easy it becomes fun to use :) Then at the end of that process, the user should have just 2 choices: 1) exporting the profile to FS and exit 2) feed the new profile directly to a kicktoo run and exit

As for your other projects, it looks like you have a lot of toys! I'm jealous ;) Have you ever tried Metro from funtoo? meant to replace catalyst, I used it once 2 years ago but heck I've grown up using catalyst, old working habits die hard, but it works ok for my livecd. You're right, something is fishy with catalyst (or is it some ebuilds set?) the stages look like they fail more hence releasing less often. However, Metro has not built a gentoo stable stage since 2 years... Strange. I agree there is a lot to do in this area, and fresh blood and code would put some motion in it.

For a long time, I literally trip on a gentoo project. One that would validate an ebuild committed to the Portage tree by rebuilding from scratch in a chroot sandbox ALL the deps (w/ and wo/ any USE flags) possible combinations of that said ebuild. Giving it some thoughts, it's really insane, not realistic in the sense that one would need hours if not days to validate/compile a single average complex ebuild. Huge power and background building is required. the more the deps of the ebuild, the more power is required. I guess we love building gentoos and making them roar ;)

novikane commented 11 years ago

metro did cross my mind when catalyst started messing me up, but was hesitant with it having to do with funtoo and possibly being written with the same design or designers in mind, but was put off after talking to drobbins in the gentoo chat room after complaining about catalyst, he said catalyst was rewritten with a "better" framework and then said something about some small changes in the funtoo tree that might not make it compatible with gentoo's anymore(i personally never confirmed that). After some thought and ripping through the catalyst source I decided that I didnt agree with catalyst/metro being written in python when most all they do is directory structuring and other i/o functions before setting up an environment for portage and delegating most of the heavy work to portage... so i wrote it in bash, something closer to the files and i/o calls, makes more sense in my mind especially when i needed newer releases than what the official releases could provide me. I even brought it up to some of the gentoo releng guys but i was kind of shrugged off and was fed the political rigamarol of how python is the end all be all, blah blah blah. (im no language hater but i do believe in NOT adding complexity layers when not needed) shrug I find that ebuild verifier very interesting indeed, and it looks like it would def take some time to get an answer... or a nice big cluster! :)

r1k0 commented 11 years ago

got a fix for the extended partition issue. will commit somewhere today :)

novikane commented 11 years ago

awesome! thanks!

r1k0 commented 11 years ago

actually the doc was misleading. now you should use E/85/5 as the type of the part and then any other partitions will be tagged as logical. So, this part sda 1 L 100M part sda 2 S 2048M part sda 3 L 2G part sda 4 E part sda 5 L 1G part sda 6 L 1G or part sda 1 83 100M part sda 2 82 2048M part sda 3 83 2G part sda 4 85 part sda 5 83 1G part sda 6 83 1G

should give you:

Gentoo-2012 kicktoo # fdisk -l /dev/sda

Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000f2fb4

Device Boot Start End Blocks Id System /dev/sda1 1 208844 104422 83 Linux /dev/sda2 208845 4417874 2104515 82 Linux swap / Solaris /dev/sda3 4417875 8626904 2104515 83 Linux /dev/sda4 8626905 16771859 4072477+ 5 Extended /dev/sda5 8626906 10731419 1052257 83 Linux /dev/sda6 10731421 12835934 1052257 83 Linux Gentoo-2012 kicktoo #