FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo User

 
 
LinkBack Thread Tools
 
Old 06-28-2012, 02:13 AM
Michael Mol
 
Default Gentoo install script

Very rough, and very much a works-for-me thing, but I thought I'd share.

https://github.com/mikemol/gentoo-install

I wrote it to ease the pain of the "install-configure-build" cycle I
was going through to figure out what was breaking glibc.

--
:wq
 
Old 07-02-2012, 12:28 AM
Michael Mol
 
Default Gentoo install script

On Wed, Jun 27, 2012 at 10:13 PM, Michael Mol <mikemol@gmail.com> wrote:
> Very rough, and very much a works-for-me thing, but I thought I'd share.
>
> https://github.com/mikemol/gentoo-install
>
> I wrote it to ease the pain of the "install-configure-build" cycle I
> was going through to figure out what was breaking glibc.

Just a bit of a followup. I've got most of the bugs worked out, and
I'm very pleased with it. I've used it to get through most of the
install sequence for inara, and it's currently on package 113/158 of
its second pass of 'emerge -e @world'.

If anyone else gets around to trying it, let me know.

--
:wq
 
Old 07-04-2012, 05:20 AM
Kaddeh
 
Default Gentoo install script

Very well done, reminded me of some code that I wrote (poorly, I might add) but, I dug it up and found some changes that you might be able to implement instead of lines and lines of static configs. *That being said, take some of these changes into consideration.


Dynamic detection of drives and partitions:# Get Existing Drives
existing_drives=$(fdisk -l | grep /dev | grep -i disk | cut -c11-13)

# Set default drive
default_drive=$(fdisk -l | grep --max-count=1 /dev | cut -c11-13)

echo -e "What drive do you want to partition? [$existing_drives]: c"
read driveand then creating the partition table later:# Make Drive Selection
if [ "$drive" == "" ]
then
selected_drive=$default_drive
else
# Verify Drive Exists
does_exist=$(fdisk -l | grep --max-count=1 -ci $drive)

if [ "$does_exist" == "1" ]
then
selected_drive=$drive
else
echo -e "The selected drive" $drive "does not exist. Using" $default_drive "instead."
selected_drive=$default_drive
fi
fi

num_partitions=$(fdisk -l | grep ^/dev | grep -ic $selected_drive)

echo "There are" $num_partitions "partitions on" $selected_drive

partitions=1

# Clear existing partition file
rm -rf partition_table
touch partition_table

while [ "$partitions" -le "$num_partitions" ]
do
# Find partition numbers
edit_partitions=$(fdisk -l | grep ^/dev/$selected_drive | cut -c9)

# Parse out extra partitons
if [ "$partitions" == "1" ]
then
work_partition=$(echo -e $edit_partitions | cut -c$partitions)
# Write to partition_table file
echo -e "d
$work_partition" >> partition_table
else
if [ "$partitions_cut" == "" ]
then
# If First Partition after partition 1, cut off $partitions + 1
partitions_cut=$(($partitions+1))
else
partitions_cut=$(($partitions_cut+1))
fi
work_partition=$(echo -e $edit_partitions | cut -c$partitions_cut)
# Write to partition_table file
echo -e "d
$work_partition" >> partition_table
((partitions_cut += 1))
fi
((partitions += 1))

done

# build the rest of the table
# Get Total System Memory
total_mem=$(cat /proc/meminfo | grep -i memtotal | cut -c16- | sed s/ // | sed s/kB//)
swap_space=$(expr $(expr $total_mem + $total_mem) / 1024)

# Write first partition to file
echo -e "n
p
1

+100M
" >> partition_table

# Write Swap Space (double system memory)
echo -e "n
p
2

+"$swap_space"M
">> partition_table

# Write / partition to file
echo -e "n
p
3


" >> partition_table

# Write partition setting to file and drive write
echo -e "a
1
t
2
82
w
" >> partition_table

# Set drive number variables
boot_drive=$(echo $selected_drive"1")
swap_drive=$(echo $selected_drive"2")
root_drive=$(echo $selected_drive"3")

# KEEP THIS COMMENTED OUT BELLOW HERE
fdisk /dev/$selected_drive < partition_table
Mainly due to the fact that you statically set the UUIDs of the drive that you want to use.
Cheers,Kad
On Sun, Jul 1, 2012 at 5:28 PM, Michael Mol <mikemol@gmail.com> wrote:


On Wed, Jun 27, 2012 at 10:13 PM, Michael Mol <mikemol@gmail.com> wrote:



> Very rough, and very much a works-for-me thing, but I thought I'd share.

>

> https://github.com/mikemol/gentoo-install

>

> I wrote it to ease the pain of the "install-configure-build" cycle I

> was going through to figure out what was breaking glibc.



Just a bit of a followup. I've got most of the bugs worked out, and

I'm very pleased with it. I've used it to get through most of the

install sequence for inara, and it's currently on package 113/158 of

its second pass of 'emerge -e @world'.



If anyone else gets around to trying it, let me know.



--

:wq
 
Old 07-04-2012, 04:53 PM
Mark Knecht
 
Default Gentoo install script

On Sun, Jul 1, 2012 at 5:28 PM, Michael Mol <mikemol@gmail.com> wrote:
> On Wed, Jun 27, 2012 at 10:13 PM, Michael Mol <mikemol@gmail.com> wrote:
>> Very rough, and very much a works-for-me thing, but I thought I'd share.
>>
>> https://github.com/mikemol/gentoo-install
>>
>> I wrote it to ease the pain of the "install-configure-build" cycle I
>> was going through to figure out what was breaking glibc.
>
> Just a bit of a followup. I've got most of the bugs worked out, and
> I'm very pleased with it. I've used it to get through most of the
> install sequence for inara, and it's currently on package 113/158 of
> its second pass of 'emerge -e @world'.
>
> If anyone else gets around to trying it, let me know.
>
> --
> :wq
>

Hi Michael,
Looks interesting. From reading the code it looks like this was a
(proper) reaction to rebuilding the two machines you recently had
trouble with, right?

Not sure when I'll get to it but I'll likely give it a try building
a VM in Virtualbox as a test.

Thanks for doing the heavy lifting and posting the work output.

Cheers,
Mark
 
Old 07-04-2012, 08:06 PM
Michael Mol
 
Default Gentoo install script

On Wed, Jul 4, 2012 at 1:20 AM, Kaddeh <kaddeh@gmail.com> wrote:
> Very well done, reminded me of some code that I wrote (poorly, I might add)
> but, I dug it up and found some changes that you might be able to implement
> instead of lines and lines of static configs. That being said, take some of
> these changes into consideration.
>
> Dynamic detection of drives and partitions:
>
> # Get Existing Drives
> existing_drives=$(fdisk -l | grep /dev | grep -i disk | cut -c11-13)
>
> # Set default drive
> default_drive=$(fdisk -l | grep --max-count=1 /dev | cut -c11-13)
>
> echo -e "What drive do you want to partition? [$existing_drives]: c"
> read drive
>
> and then creating the partition table later:
>
> # Make Drive Selection
> if [ "$drive" == "" ]
> then
> selected_drive=$default_drive
> else
> # Verify Drive Exists
> does_exist=$(fdisk -l | grep --max-count=1 -ci $drive)
>
> if [ "$does_exist" == "1" ]
> then
> selected_drive=$drive
> else
> echo -e "The selected drive" $drive "does not exist. Using"
> $default_drive "instead."
> selected_drive=$default_drive
> fi
> fi
>
> num_partitions=$(fdisk -l | grep ^/dev | grep -ic $selected_drive)
>
> echo "There are" $num_partitions "partitions on" $selected_drive
>
> partitions=1
>
> # Clear existing partition file
> rm -rf partition_table
> touch partition_table
>
> while [ "$partitions" -le "$num_partitions" ]
> do
> # Find partition numbers
> edit_partitions=$(fdisk -l | grep ^/dev/$selected_drive | cut -c9)
>
> # Parse out extra partitons
> if [ "$partitions" == "1" ]
> then
> work_partition=$(echo -e $edit_partitions | cut -c$partitions)
> # Write to partition_table file
> echo -e "d
$work_partition" >> partition_table
> else
> if [ "$partitions_cut" == "" ]
> then
> # If First Partition after partition 1, cut off $partitions + 1
> partitions_cut=$(($partitions+1))
> else
> partitions_cut=$(($partitions_cut+1))
> fi
> work_partition=$(echo -e $edit_partitions | cut -c$partitions_cut)
> # Write to partition_table file
> echo -e "d
$work_partition" >> partition_table
> ((partitions_cut += 1))
> fi
> ((partitions += 1))
>
> done
>
> # build the rest of the table
> # Get Total System Memory
> total_mem=$(cat /proc/meminfo | grep -i memtotal | cut -c16- | sed s/ // |
> sed s/kB//)
> swap_space=$(expr $(expr $total_mem + $total_mem) / 1024)
>
> # Write first partition to file
> echo -e "n
p
1

+100M
" >> partition_table
>
> # Write Swap Space (double system memory)
> echo -e "n
p
2

+"$swap_space"M
">> partition_table
>
> # Write / partition to file
> echo -e "n
p
3


" >> partition_table
>
> # Write partition setting to file and drive write
> echo -e "a
1
t
2
82
w
" >> partition_table
>
> # Set drive number variables
> boot_drive=$(echo $selected_drive"1")
> swap_drive=$(echo $selected_drive"2")
> root_drive=$(echo $selected_drive"3")
>
> # KEEP THIS COMMENTED OUT BELLOW HERE
> fdisk /dev/$selected_drive < partition_table
>
> Mainly due to the fact that you statically set the UUIDs of the drive that
> you want to use.
>
> Cheers,
> Kad

Thank you very much.

I'd gladly entertain a pull request if you'd like to integrate it. I'm
not doing much in the way of active development on the script until I
have either (or both) of my machines operational again; they're almost
there, but I'm a sticking point with the 3.3.8 kernel, got past that,
and have now discovered that stable genkernel and stable
gentoo-sources don't play well together. (Because stable genkernel is
using a slightly older version of busybox which doesn't know about
some moved kernel header files). That stuff is slowly moving on b.g.o,
and I'm slowly working around at home. It's only a matter of time, of
which nobody seems to have enough...

--
:wq
 
Old 07-04-2012, 08:15 PM
Michael Mol
 
Default Gentoo install script

On Wed, Jul 4, 2012 at 12:53 PM, Mark Knecht <markknecht@gmail.com> wrote:
> On Sun, Jul 1, 2012 at 5:28 PM, Michael Mol <mikemol@gmail.com> wrote:
>> On Wed, Jun 27, 2012 at 10:13 PM, Michael Mol <mikemol@gmail.com> wrote:
>>> Very rough, and very much a works-for-me thing, but I thought I'd share.
>>>
>>> https://github.com/mikemol/gentoo-install
>>>
>>> I wrote it to ease the pain of the "install-configure-build" cycle I
>>> was going through to figure out what was breaking glibc.
>>
>> Just a bit of a followup. I've got most of the bugs worked out, and
>> I'm very pleased with it. I've used it to get through most of the
>> install sequence for inara, and it's currently on package 113/158 of
>> its second pass of 'emerge -e @world'.
>>
>> If anyone else gets around to trying it, let me know.
>>
>> --
>> :wq
>>
>
> Hi Michael,
> Looks interesting. From reading the code it looks like this was a
> (proper) reaction to rebuilding the two machines you recently had
> trouble with, right?

Indeed. Inara and kaylee are still incomplete, but the script at least
helped me get to a working, up-to-date chroot environment, and that's
a major improvement over where I was.

>
> Not sure when I'll get to it but I'll likely give it a try building
> a VM in Virtualbox as a test.

I can tell you right now that you'll hit a circular dependency problem
toward the end, where it starts installing what I'd call "comfort
tools." The general(ish) solution is probably going to be a two-pass
emerge. One with USE="-gtk", followed by a one-two sequence without
that. It's a typical gtk->cups->avahi cyclic dependency, and since gtk
is the most-core element in the cycle, I figure it probably it'll be
part of most cyclic dependency problems that might crop up in the
future, so suppressing it likely covers the most ground. (By the same
reasoning, it's probably appropriate to include -qt, -gnome and -kde
in that first pass, too.)

>
> Thanks for doing the heavy lifting and posting the work output.

Np. It beat the *pants* off of manually trying different CFLAGS to
figure out why glibc was puking. I only had to go through the manual
steps twice before I got sick of it and wrote the bulk of the script
in a couple hours. The rest has mostly been letting the thing run,
discover where I missed something, modify the script, and let it run
again.

--
:wq
 

Thread Tools




All times are GMT. The time now is 05:47 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org