Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.unix.programmer > #1216 > unrolled thread

Any suggestions for Linux Beginners stepping to Linux kernel.

Started byStanley Rice <heconghui@gmail.com>
First post2011-09-06 00:41 -0700
Last post2011-09-07 22:01 -0700
Articles 16 — 6 participants

Back to article view | Back to comp.unix.programmer


Contents

  Any suggestions for Linux Beginners stepping to Linux kernel. Stanley Rice <heconghui@gmail.com> - 2011-09-06 00:41 -0700
    Re: Any suggestions for Linux Beginners stepping to Linux kernel. Ian Collins <ian-news@hotmail.com> - 2011-09-06 22:00 +1200
      Re: Any suggestions for Linux Beginners stepping to Linux kernel. Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-09-06 13:15 +0100
        Re: Any suggestions for Linux Beginners stepping to Linux kernel. Ian Collins <ian-news@hotmail.com> - 2011-09-07 08:44 +1200
          Re: Any suggestions for Linux Beginners stepping to Linux kernel. Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-09-06 22:11 +0100
            Re: Any suggestions for Linux Beginners stepping to Linux kernel. Ian Collins <ian-news@hotmail.com> - 2011-09-07 09:18 +1200
              Re: Any suggestions for Linux Beginners stepping to Linux kernel. Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-09-07 14:22 +0100
      Re: Any suggestions for Linux Beginners stepping to Linux kernel. Stanley Rice <heconghui@gmail.com> - 2011-09-07 01:03 -0700
    Re: Any suggestions for Linux Beginners stepping to Linux kernel. Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-09-06 13:11 +0100
      Re: Any suggestions for Linux Beginners stepping to Linux kernel. Stanley Rice <heconghui@gmail.com> - 2011-09-07 01:11 -0700
        Re: Any suggestions for Linux Beginners stepping to Linux kernel. "onixie@gmail.com" <onixie@gmail.com> - 2011-09-07 22:09 -0700
          Re: Any suggestions for Linux Beginners stepping to Linux kernel. Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-09-08 20:16 +0100
    Re: Any suggestions for Linux Beginners stepping to Linux kernel. Volker Birk <bumens@dingens.org> - 2011-09-06 12:50 +0000
    Re: Any suggestions for Linux Beginners stepping to Linux kernel. Paul <nospam@needed.com> - 2011-09-06 13:07 -0400
      Re: Any suggestions for Linux Beginners stepping to Linux kernel. Stanley Rice <heconghui@gmail.com> - 2011-09-07 01:26 -0700
        Re: Any suggestions for Linux Beginners stepping to Linux kernel. "onixie@gmail.com" <onixie@gmail.com> - 2011-09-07 22:01 -0700

#1216 — Any suggestions for Linux Beginners stepping to Linux kernel.

FromStanley Rice <heconghui@gmail.com>
Date2011-09-06 00:41 -0700
SubjectAny suggestions for Linux Beginners stepping to Linux kernel.
Message-ID<2a0bf9fc-e9d7-4db6-b8aa-f6695465bea7@m3g2000pri.googlegroups.com>
I am sorry whether it is appropriate to post it here. I am a Linux
beginner currently with some basic knowledge of C programming Language
and shell scripting and some Linux daily usage. I want to have a
better understanding of Linux as well as try to improve my programming
skill. But I don't know how to step forward.

I am impressed with the Linux and Unix philosophy that "make each
program do one thing well", "small is beautiful". I try to analyse the
Linux kernel before, reading some books about Linux kernel, but then I
gave it up soon as it was quite difficult for me. These days I try to
read some source code of coreutils package, including the source code
of ls, cat, cp, mv, etc command. But I found that it is a bit
difficult for me currently.

I hope you can give me some tips about how to step forward. Recommend
some books or it there any open project about it?

Thanks!

[toc] | [next] | [standalone]


#1217

FromIan Collins <ian-news@hotmail.com>
Date2011-09-06 22:00 +1200
Message-ID<9cm9amF72aU4@mid.individual.net>
In reply to#1216
On 09/ 6/11 07:41 PM, Stanley Rice wrote:
> I am sorry whether it is appropriate to post it here. I am a Linux
> beginner currently with some basic knowledge of C programming Language
> and shell scripting and some Linux daily usage. I want to have a
> better understanding of Linux as well as try to improve my programming
> skill. But I don't know how to step forward.
>
> I am impressed with the Linux and Unix philosophy that "make each
> program do one thing well", "small is beautiful". I try to analyse the
> Linux kernel before, reading some books about Linux kernel, but then I
> gave it up soon as it was quite difficult for me. These days I try to
> read some source code of coreutils package, including the source code
> of ls, cat, cp, mv, etc command. But I found that it is a bit
> difficult for me currently.
>
> I hope you can give me some tips about how to step forward. Recommend
> some books or it there any open project about it?

A realistic bit of advice is don't.

Kernel code is notoriously obtuse.  If you have limited C knowledge, you 
will get lost very fast.  Kernel code is not a good source to study C, 
unless you want to pick up bad habits early.

Learn C, write you own applications and then revisit kernel land.

-- 
Ian Collins

[toc] | [prev] | [next] | [standalone]


#1220

FromRainer Weikusat <rweikusat@mssgmbh.com>
Date2011-09-06 13:15 +0100
Message-ID<87mxehq32g.fsf@sapphire.mobileactivedefense.com>
In reply to#1217
Ian Collins <ian-news@hotmail.com> writes:

[...]

>  Kernel code is not a good source to study C, unless you want to
>  pick up bad habits early.

Care to name some of these bad habits, together with an explanation
why you consider them to be bad habits?

[toc] | [prev] | [next] | [standalone]


#1224

FromIan Collins <ian-news@hotmail.com>
Date2011-09-07 08:44 +1200
Message-ID<9cnf25F72aU6@mid.individual.net>
In reply to#1220
On 09/ 7/11 12:15 AM, Rainer Weikusat wrote:
> Ian Collins<ian-news@hotmail.com>  writes:
>
> [...]
>
>>   Kernel code is not a good source to study C, unless you want to
>>   pick up bad habits early.
>
> Care to name some of these bad habits, together with an explanation
> why you consider them to be bad habits?

Writing gcc specific code.

-- 
Ian Collins

[toc] | [prev] | [next] | [standalone]


#1225

FromRainer Weikusat <rweikusat@mssgmbh.com>
Date2011-09-06 22:11 +0100
Message-ID<87liu1s7e3.fsf@sapphire.mobileactivedefense.com>
In reply to#1224
Ian Collins <ian-news@hotmail.com> writes:
> On 09/ 7/11 12:15 AM, Rainer Weikusat wrote:
>> Ian Collins<ian-news@hotmail.com>  writes:
>>
>> [...]
>>
>>>   Kernel code is not a good source to study C, unless you want to
>>>   pick up bad habits early.
>>
>> Care to name some of these bad habits, together with an explanation
>> why you consider them to be bad habits?
>
> Writing gcc specific code.

'Worrying about portability' without portability being a requirement
is a bad habit because it means 'doing more work now because of
$something which might happen in future'.

[toc] | [prev] | [next] | [standalone]


#1226

FromIan Collins <ian-news@hotmail.com>
Date2011-09-07 09:18 +1200
Message-ID<9cnh0kF72aU8@mid.individual.net>
In reply to#1225
On 09/ 7/11 09:11 AM, Rainer Weikusat wrote:
> Ian Collins<ian-news@hotmail.com>  writes:
>> On 09/ 7/11 12:15 AM, Rainer Weikusat wrote:
>>> Ian Collins<ian-news@hotmail.com>   writes:
>>>
>>> [...]
>>>
>>>>    Kernel code is not a good source to study C, unless you want to
>>>>    pick up bad habits early.
>>>
>>> Care to name some of these bad habits, together with an explanation
>>> why you consider them to be bad habits?
>>
>> Writing gcc specific code.
>
> 'Worrying about portability' without portability being a requirement
> is a bad habit because it means 'doing more work now because of
> $something which might happen in future'.

That's all well and good for an experienced programmer, but a novice 
should learn standard C, not GNU C.  If a novice does want to study 
kernel code, they can always try one that tried to avoid compiler 
specifics (such as OpenSolaris).

-- 
Ian Collins

[toc] | [prev] | [next] | [standalone]


#1231

FromRainer Weikusat <rweikusat@mssgmbh.com>
Date2011-09-07 14:22 +0100
Message-ID<877h5k32sv.fsf@sapphire.mobileactivedefense.com>
In reply to#1226
Ian Collins <ian-news@hotmail.com> writes:
> On 09/ 7/11 09:11 AM, Rainer Weikusat wrote:
>> Ian Collins<ian-news@hotmail.com>  writes:
>>> On 09/ 7/11 12:15 AM, Rainer Weikusat wrote:
>>>> Ian Collins<ian-news@hotmail.com>   writes:
>>>>
>>>> [...]
>>>>
>>>>>    Kernel code is not a good source to study C, unless you want to
>>>>>    pick up bad habits early.
>>>>
>>>> Care to name some of these bad habits, together with an explanation
>>>> why you consider them to be bad habits?
>>>
>>> Writing gcc specific code.
>>
>> 'Worrying about portability' without portability being a requirement
>> is a bad habit because it means 'doing more work now because of
>> $something which might happen in future'.
>
> That's all well and good for an experienced programmer, but a novice
> should learn standard C, not GNU C.  If a novice does want to study
> kernel code, they can always try one that tried to avoid compiler
> specifics (such as OpenSolaris).

I actually like to clarify/ narrow my statement somewhat: While I'm
completely convinced that features exist in order to be exploited when
they are useful (random example: sufficiently recent versions of GCC
provide a hardware-independent way of using memory barriers), I'd
agree with the notion that 'unconciously writing xyz specific code' is
a bad habit.

[toc] | [prev] | [next] | [standalone]


#1228

FromStanley Rice <heconghui@gmail.com>
Date2011-09-07 01:03 -0700
Message-ID<746570a6-534d-4a9e-a98f-df885784405b@n12g2000yqh.googlegroups.com>
In reply to#1217
On Sep 6, 6:00 pm, Ian Collins <ian-n...@hotmail.com> wrote:
> On 09/ 6/11 07:41 PM, Stanley Rice wrote:
>
>
>
>
>
>
>
>
>
> > I am sorry whether it is appropriate to post it here. I am a Linux
> > beginner currently with some basic knowledge of C programming Language
> > and shell scripting and some Linux daily usage. I want to have a
> > better understanding of Linux as well as try to improve my programming
> > skill. But I don't know how to step forward.
>
> > I am impressed with the Linux and Unix philosophy that "make each
> > program do one thing well", "small is beautiful". I try to analyse the
> > Linux kernel before, reading some books about Linux kernel, but then I
> > gave it up soon as it was quite difficult for me. These days I try to
> > read some source code of coreutils package, including the source code
> > of ls, cat, cp, mv, etc command. But I found that it is a bit
> > difficult for me currently.
>
> > I hope you can give me some tips about how to step forward. Recommend
> > some books or it there any open project about it?
>
> A realistic bit of advice is don't.
>
> Kernel code is notoriously obtuse.  If you have limited C knowledge, you
> will get lost very fast.  Kernel code is not a good source to study C,
> unless you want to pick up bad habits early.
>
> Learn C, write you own applications and then revisit kernel land.
>
> --
> Ian Collins

Great thanks for replying me.

I agree with you that the kernel source is not appropriate to the
novice, as I found that the framework is quite complex and there are a
lot of macros that are hard to understand. I think I should have a
better understanding of C. But, could you give me a more detail tips
about how to learn C further, not just "writing".

Thanks.

[toc] | [prev] | [next] | [standalone]


#1219

FromRainer Weikusat <rweikusat@mssgmbh.com>
Date2011-09-06 13:11 +0100
Message-ID<87r53tq3aj.fsf@sapphire.mobileactivedefense.com>
In reply to#1216
Stanley Rice <heconghui@gmail.com> writes:
> I am sorry whether it is appropriate to post it here. I am a Linux
> beginner currently with some basic knowledge of C programming Language
> and shell scripting and some Linux daily usage. I want to have a
> better understanding of Linux as well as try to improve my programming
> skill. But I don't know how to step forward.
>
> I am impressed with the Linux and Unix philosophy that "make each
> program do one thing well", "small is beautiful". I try to analyse the
> Linux kernel before, reading some books about Linux kernel, but then I
> gave it up soon as it was quite difficult for me. These days I try to
> read some source code of coreutils package, including the source code
> of ls, cat, cp, mv, etc command. But I found that it is a bit
> difficult for me currently.

The 'classic' textbook would be

	http://www.informit.com/store/product.aspx?isbn=0201563177

Especially concerning Linux, a lot of this should probably be
considered out of date by now. Another, more Linux-specific:

	http://nostarch.com/tlpi

NB: I don't own this myself but the author is also maintaining the set
of Linux manpages and this has (IMHO) improved them quite a bit.

Generally: Don't try to learn about programming by reading code, read
books and write code. 

[toc] | [prev] | [next] | [standalone]


#1229

FromStanley Rice <heconghui@gmail.com>
Date2011-09-07 01:11 -0700
Message-ID<9334c330-6bcf-4eb9-93cb-23121059a073@v18g2000yqj.googlegroups.com>
In reply to#1219
On Sep 6, 8:11 pm, Rainer Weikusat <rweiku...@mssgmbh.com> wrote:
> Stanley Rice <hecong...@gmail.com> writes:
> > I am sorry whether it is appropriate to post it here. I am a Linux
> > beginner currently with some basic knowledge of C programming Language
> > and shell scripting and some Linux daily usage. I want to have a
> > better understanding of Linux as well as try to improve my programming
> > skill. But I don't know how to step forward.
>
> > I am impressed with the Linux and Unix philosophy that "make each
> > program do one thing well", "small is beautiful". I try to analyse the
> > Linux kernel before, reading some books about Linux kernel, but then I
> > gave it up soon as it was quite difficult for me. These days I try to
> > read some source code of coreutils package, including the source code
> > of ls, cat, cp, mv, etc command. But I found that it is a bit
> > difficult for me currently.
>
> The 'classic' textbook would be
>
>        http://www.informit.com/store/product.aspx?isbn=0201563177
>
> Especially concerning Linux, a lot of this should probably be
> considered out of date by now. Another, more Linux-specific:
>
>        http://nostarch.com/tlpi
>
> NB: I don't own this myself but the author is also maintaining the set
> of Linux manpages and this has (IMHO) improved them quite a bit.
>
> Generally: Don't try to learn about programming by reading code, read
> books and write code.

Thanks for replying me, Rainer.

I read few chapters of Advanced Programming in the UNIX® Environment,
it introduces some functions of Linux and some concepts of Linux,
right?
The code in each program is less than 200 lines and some body call it
toy program. Is there any small project that is well constructed for
novice to learn? Or, after I finish reading the books you recommended,
where should I head to?

Thanks.

(Don't try to learn about programming by reading code, readbooks and
write code. It is very impressive. Thanks again.)

[toc] | [prev] | [next] | [standalone]


#1234

From"onixie@gmail.com" <onixie@gmail.com>
Date2011-09-07 22:09 -0700
Message-ID<36948fa4-1197-4476-9d34-f682b042ffbb@m4g2000pri.googlegroups.com>
In reply to#1229
On Sep 7, 4:11 pm, Stanley Rice <hecong...@gmail.com> wrote:
> On Sep 6, 8:11 pm, Rainer Weikusat <rweiku...@mssgmbh.com> wrote:
>
>
>
>
>
>
>
>
>
> > Stanley Rice <hecong...@gmail.com> writes:
> > > I am sorry whether it is appropriate to post it here. I am a Linux
> > > beginner currently with some basic knowledge of C programming Language
> > > and shell scripting and some Linux daily usage. I want to have a
> > > better understanding of Linux as well as try to improve my programming
> > > skill. But I don't know how to step forward.
>
> > > I am impressed with the Linux and Unix philosophy that "make each
> > > program do one thing well", "small is beautiful". I try to analyse the
> > > Linux kernel before, reading some books about Linux kernel, but then I
> > > gave it up soon as it was quite difficult for me. These days I try to
> > > read some source code of coreutils package, including the source code
> > > of ls, cat, cp, mv, etc command. But I found that it is a bit
> > > difficult for me currently.
>
> > The 'classic' textbook would be
>
> >        http://www.informit.com/store/product.aspx?isbn=0201563177
>
> > Especially concerning Linux, a lot of this should probably be
> > considered out of date by now. Another, more Linux-specific:
>
> >        http://nostarch.com/tlpi
>
> > NB: I don't own this myself but the author is also maintaining the set
> > of Linux manpages and this has (IMHO) improved them quite a bit.
>
> > Generally: Don't try to learn about programming by reading code, read
> > books and write code.
>
> Thanks for replying me, Rainer.
>
> I read few chapters of Advanced Programming in the UNIX® Environment,
> it introduces some functions of Linux and some concepts of Linux,
> right?
> The code in each program is less than 200 lines and some body call it
> toy program. Is there any small project that is well constructed for
> novice to learn? Or, after I finish reading the books you recommended,
> where should I head to?
>
> Thanks.
>
> (Don't try to learn about programming by reading code, readbooks and
> write code. It is very impressive. Thanks again.)

Toy program is just well constructed project for novice to learn. The
difference between toy program and practical program is not language
and technology itself. The major difference I think is the
completeness of the code implementing a full function or system. But
often such difference is just noise and distraction when you focus on
language or technology itself.

[toc] | [prev] | [next] | [standalone]


#1236

FromRainer Weikusat <rweikusat@mssgmbh.com>
Date2011-09-08 20:16 +0100
Message-ID<874o0mrgiq.fsf@sapphire.mobileactivedefense.com>
In reply to#1234
"onixie@gmail.com" <onixie@gmail.com> writes:
> On Sep 7, 4:11 pm, Stanley Rice <hecong...@gmail.com> wrote:
>> On Sep 6, 8:11 pm, Rainer Weikusat <rweiku...@mssgmbh.com> wrote:

[...]

>> > The 'classic' textbook would be
>>
>> >        http://www.informit.com/store/product.aspx?isbn=0201563177

[...]

>> I read few chapters of Advanced Programming in the UNIX® Environment,
>> it introduces some functions of Linux and some concepts of Linux,
>> right?
>> The code in each program is less than 200 lines and some body call it
>> toy program.

[...]

> Toy program is just well constructed project for novice to learn. The
> difference between toy program and practical program is not language
> and technology itself. The major difference I think is the
> completeness of the code implementing a full function or system.

IMHO, the difference is mainly that the 'toy program' was written to
demonstrate what its author considered to be 'best practices' in a way
he considered to be easily understood by readers. And that's not
usually a concern when code is being written (more correctly, people
usually claim that this would be a concern but in reality, they just
use it as justification for the essentially arbitrary stylistic habits
they happen to have formed for reasons entirely unknown to anyone but
themselves. And more often than not, these habits are rather
steganographic in nature -- make them simple appear complicated by
elaborate, functionless decorations). But what Steven's considers to
be best practices is IMHO very debatable: I don't think that hiding
the actual API in a custom wrapper library is a good idea. It makes
the code more difficult to understand for anyone but the people who
happen to know the specific wrapper library being used and it means
that 'the novice' will learn how to use the wrapper library instead of
the API itself.

But I was actually being serious with my remark in an earlier posting:
Don't read code in order to learn programming. Read texts about
programming and try to apply what you've read (insofar you understood
why the author thought this was sensible _and_ agree with it) when
writing code. If you don't understand something, don't try to ape it,
wait until you either understand why it was a good idea or why not.

[toc] | [prev] | [next] | [standalone]


#1221

FromVolker Birk <bumens@dingens.org>
Date2011-09-06 12:50 +0000
Message-ID<j454u4Uc7fL1@news.in-ulm.de>
In reply to#1216
Stanley Rice <heconghui@gmail.com> wrote:
> I hope you can give me some tips about how to step forward. Recommend
> some books or it there any open project about it?

Of course, Books of Richard Stevens can be of great value for learning
UNIX programming. But to be honest:

The best value for me gave playing around. Begin by trying to get a more
plain UNIX distribution to work, i.e. NetBSD. Or, if you want to stay in
the Leenoox world, first try to configure and compile your own kernel.

Then start to read the scripts, from /etc/inittab or /etc/rc (if there
are any left :-/ )

If you want to learn programming in the UNIX environment, try to write a
simple filter program in C. Then try to give it command line options,
including options which connects it to files and terminals. Then start
to spawn processes by forking, and implement communication to them.
Afterwards, implement that for TCP sockets. So you'll have a good
introduction.

What you program does, is not important – let it filter out every 0x42
Byte of any stream, as an example ;-)

Yours,
VB.
-- 
Wenn Du für eine Leistung nichts bezahlst,
bist Du nicht der Kunde, sondern die Ware.

[toc] | [prev] | [next] | [standalone]


#1222

FromPaul <nospam@needed.com>
Date2011-09-06 13:07 -0400
Message-ID<j45k0j$l4b$1@dont-email.me>
In reply to#1216
Stanley Rice wrote:
> I am sorry whether it is appropriate to post it here. I am a Linux
> beginner currently with some basic knowledge of C programming Language
> and shell scripting and some Linux daily usage. I want to have a
> better understanding of Linux as well as try to improve my programming
> skill. But I don't know how to step forward.
> 
> I am impressed with the Linux and Unix philosophy that "make each
> program do one thing well", "small is beautiful". I try to analyse the
> Linux kernel before, reading some books about Linux kernel, but then I
> gave it up soon as it was quite difficult for me. These days I try to
> read some source code of coreutils package, including the source code
> of ls, cat, cp, mv, etc command. But I found that it is a bit
> difficult for me currently.
> 
> I hope you can give me some tips about how to step forward. Recommend
> some books or it there any open project about it?
> 
> Thanks!

http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml

    "Install a kernel source, compile it and install the kernel

     time emerge gentoo-sources
     cd /usr/src/linux
     make menuconfig
     time make -j2
     make modules_install
     cp arch/i386/boot/bzImage /boot/kernel
    "

That's an example of a Linux environment, where you get to work with
the kernel. The "menuconfig" step, allows you to select what options
you want in your kernel. It's a lot of work to step through it, but
you'll only find the config errors in the distro by doing so. Menuconfig
eventually stores configuration info in the .config file.

If you're a real noob, there are also training wheels, in the form
of "genkernel". I think the previous method is easier to understand
than this is. But if you fail on your attempts to do it the previous
way, you can try this instead.

http://www.gentoo.org/doc/en/genkernel.xml

I did my first Gentoo installation, inside a VM, so I still had a working
computer while all of that was going on. It's pretty hard to learn
anything, if you're stuck looking at a text console and have no GUI or
web browser to work with. So for your first install, try working in a
Virtual Machine environment. I use Virtual PC 2007 in Microsoft Windows.
But there are other, better choices.

(Like perhaps VirtualBox...)
http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines

HTH,
      Paul

[toc] | [prev] | [next] | [standalone]


#1230

FromStanley Rice <heconghui@gmail.com>
Date2011-09-07 01:26 -0700
Message-ID<92e03b96-6768-49f2-88e7-fa271f660215@o15g2000vbe.googlegroups.com>
In reply to#1222
On Sep 7, 1:07 am, Paul <nos...@needed.com> wrote:
> Stanley Rice wrote:
> > I am sorry whether it is appropriate to post it here. I am a Linux
> > beginner currently with some basic knowledge of C programming Language
> > and shell scripting and some Linux daily usage. I want to have a
> > better understanding of Linux as well as try to improve my programming
> > skill. But I don't know how to step forward.
>
> > I am impressed with the Linux and Unix philosophy that "make each
> > program do one thing well", "small is beautiful". I try to analyse the
> > Linux kernel before, reading some books about Linux kernel, but then I
> > gave it up soon as it was quite difficult for me. These days I try to
> > read some source code of coreutils package, including the source code
> > of ls, cat, cp, mv, etc command. But I found that it is a bit
> > difficult for me currently.
>
> > I hope you can give me some tips about how to step forward. Recommend
> > some books or it there any open project about it?
>
> > Thanks!
>
> http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml
>
>     "Install a kernel source, compile it and install the kernel
>
>      time emerge gentoo-sources
>      cd /usr/src/linux
>      make menuconfig
>      time make -j2
>      make modules_install
>      cp arch/i386/boot/bzImage /boot/kernel
>     "
>
> That's an example of a Linux environment, where you get to work with
> the kernel. The "menuconfig" step, allows you to select what options
> you want in your kernel. It's a lot of work to step through it, but
> you'll only find the config errors in the distro by doing so. Menuconfig
> eventually stores configuration info in the .config file.
>
> If you're a real noob, there are also training wheels, in the form
> of "genkernel". I think the previous method is easier to understand
> than this is. But if you fail on your attempts to do it the previous
> way, you can try this instead.
>
> http://www.gentoo.org/doc/en/genkernel.xml
>
> I did my first Gentoo installation, inside a VM, so I still had a working
> computer while all of that was going on. It's pretty hard to learn
> anything, if you're stuck looking at a text console and have no GUI or
> web browser to work with. So for your first install, try working in a
> Virtual Machine environment. I use Virtual PC 2007 in Microsoft Windows.
> But there are other, better choices.
>
> (Like perhaps VirtualBox...)http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines
>
> HTH,
>       Paul

Thank for replying, Paul. I am sorry that I haven't download Gentoo
and install it. Before that, I wander what is the difference between
working in my current Linux distribution, that is Ubuntu, and the
Gentoo.

[toc] | [prev] | [next] | [standalone]


#1233

From"onixie@gmail.com" <onixie@gmail.com>
Date2011-09-07 22:01 -0700
Message-ID<53ef4044-e539-45fa-96c8-fdebf9d14402@y39g2000prd.googlegroups.com>
In reply to#1230
I installed my gentoo from my ubuntu using chroot method :)
I like both.

ubuntu often distributes software in binary although you can get the
source.
And it has good out-of-box experience that many software have
installed already.

gentoo is that you have to configure (according your needs) and build
every software (including kernel) from source code.
since it distrubutes source code and using bsd-like portage system to
configure and built them.
It has only skeleton system after first install which enables you boot
into an command line environment with few software such as coreutils
and portage system. (other software (often include X and desktop
environment) should be built and installed by yourself )

so if you are a programmer, you should like gentoo.

On Sep 7, 4:26 pm, Stanley Rice <hecong...@gmail.com> wrote:
> On Sep 7, 1:07 am, Paul <nos...@needed.com> wrote:
>
>
>
>
>
>
>
>
>
> > Stanley Rice wrote:
> > > I am sorry whether it is appropriate to post it here. I am a Linux
> > > beginner currently with some basic knowledge of C programming Language
> > > and shell scripting and some Linux daily usage. I want to have a
> > > better understanding of Linux as well as try to improve my programming
> > > skill. But I don't know how to step forward.
>
> > > I am impressed with the Linux and Unix philosophy that "make each
> > > program do one thing well", "small is beautiful". I try to analyse the
> > > Linux kernel before, reading some books about Linux kernel, but then I
> > > gave it up soon as it was quite difficult for me. These days I try to
> > > read some source code of coreutils package, including the source code
> > > of ls, cat, cp, mv, etc command. But I found that it is a bit
> > > difficult for me currently.
>
> > > I hope you can give me some tips about how to step forward. Recommend
> > > some books or it there any open project about it?
>
> > > Thanks!
>
> >http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml
>
> >     "Install a kernel source, compile it and install the kernel
>
> >      time emerge gentoo-sources
> >      cd /usr/src/linux
> >      make menuconfig
> >      time make -j2
> >      make modules_install
> >      cp arch/i386/boot/bzImage /boot/kernel
> >     "
>
> > That's an example of a Linux environment, where you get to work with
> > the kernel. The "menuconfig" step, allows you to select what options
> > you want in your kernel. It's a lot of work to step through it, but
> > you'll only find the config errors in the distro by doing so. Menuconfig
> > eventually stores configuration info in the .config file.
>
> > If you're a real noob, there are also training wheels, in the form
> > of "genkernel". I think the previous method is easier to understand
> > than this is. But if you fail on your attempts to do it the previous
> > way, you can try this instead.
>
> >http://www.gentoo.org/doc/en/genkernel.xml
>
> > I did my first Gentoo installation, inside a VM, so I still had a working
> > computer while all of that was going on. It's pretty hard to learn
> > anything, if you're stuck looking at a text console and have no GUI or
> > web browser to work with. So for your first install, try working in a
> > Virtual Machine environment. I use Virtual PC 2007 in Microsoft Windows.
> > But there are other, better choices.
>
> > (Like perhaps VirtualBox...)http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines
>
> > HTH,
> >       Paul
>
> Thank for replying, Paul. I am sorry that I haven't download Gentoo
> and install it. Before that, I wander what is the difference between
> working in my current Linux distribution, that is Ubuntu, and the
> Gentoo.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.unix.programmer


csiph-web